Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 데이터 분석
- 혼공머신러닝딥러닝
- 영상제작기
- Brigthics Studio
- 데이터분석
- 팀 분석
- 혼공학습단
- 개인 의료비 예측
- 직원 이직여부
- 직원 이직률
- Brightics를 이용한 분석
- 삼성SDS Brightics
- 노코드AI
- 포스코 청년
- 혼공머신
- 포스코 아카데미
- 브라이틱스
- 삼성SDS Brigthics
- 브라이틱스 서포터즈
- 삼성 SDS Brigthics
- Brigthics를 이용한 분석
- 삼성SDS
- Brigthics
- 혼공
- 추천시스템
- Brightics
- 삼성 SDS
- 모델링
- 캐글
- Brightics Studio
Archives
- Today
- Total
데이터사이언스 기록기📚
[프로그래머스/Python] Level 2_스킬트리(Summer/Winter Coding(~2018)) 본문
Coding Test/프로그래머스(Python)
[프로그래머스/Python] Level 2_스킬트리(Summer/Winter Coding(~2018))
syunze 2022. 11. 4. 13:10📌문제 유형
Summer/Winter Coding(~2018)
📌문제
📌나의 문제풀이
- skill_trees내 하나의 문자 skill_order에 저장 : skill_order = {문자열 : 문자열 인덱스}
- skill_order에 skill이 있으면 num에 저장 : num = {문자열 : 문자열 인덱스}
- num의 크기 0인 경우 answer 1개 추가 (skill이 아직 시작하지 않아서 가능한 skill_tree이기 때문)
- num_sort에 num 정렬
- num_sort와 skill의 순서 확인
import collections
def solution(skill, skill_trees):
answer= 0
for tree in skill_trees:
num = {}
skill_order = {string : tree.index(string) for string in tree}
for s in skill:
if s in skill_order.keys():
num[s] = skill_order[s]
if len(list(num.keys())) == 0:
answer += 1
continue
# 숫자 순서 판별
num_sort = sorted(num.items(), key = lambda x:x[1])
num_sort = collections.OrderedDict(num_sort)
num_sort = list(num_sort.keys())
for i in range(len(num_sort)):
if skill[i] == num_sort[i]:
if i == len(num_sort)-1:
answer += 1
continue
else:
break
return answer
📌다른 사람의 풀이
1) for - else 문 : break로 끊기지 않고 수행되면 else문 실행
def solution(skill, skill_trees):
answer = 0
for skills in skill_trees:
skill_list = list(skill)
for s in skills:
if s in skill:
if s != skill_list.pop(0):
break
else:
answer += 1
return answer
2) skill[0:len(skillist)]로 skill 시작 안 한것도 포함
def solution(skill,skill_tree):
answer=0
for i in skill_tree:
skillist=''
for z in i:
if z in skill:
skillist+=z
if skillist==skill[0:len(skillist)]:
answer+=1
return answer
📌리뷰
- (skill이 아직 시작하지 않아서 가능한 skill_tree이기 때문) 이 부분이 핵심
728x90
'Coding Test > 프로그래머스(Python)' 카테고리의 다른 글
[프로그래머스/Python] Level 2_게임 맵 최단거리(DFS/BFS) (0) | 2023.05.16 |
---|---|
[프로그래머스/Python] Level 2_다음 큰 숫자(연습문제) (0) | 2022.11.04 |
[프로그래머스/Python] Level 2_오픈채팅방(2019 KAKAO BLIND RECRUITMENT) (0) | 2022.10.30 |
[프로그래머스/Python] Level 2_주차 요금 계산(2022 KAKAO BLIND RECRUITMENT) (0) | 2022.10.30 |
[프로그래머스/Python] Level 2_[1차] 뉴스 클러스터링(2018 KAKAO BLIND RECRUITMENT) (0) | 2022.10.28 |
Comments