728x90
코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr)
230520 알박기 3번째 문제.
Lv.2 치고는 생각보다 어렵진 않았다.
문자열 하나만 새로 만들어야지! 라는 생각만 해도 나머지는 모두 직관으로 이루어지는 정답이라..
# 나의 풀이
# for 문 말고는 크게 생각나지 않아서 직관적으로 풀었다
def solution(skill, skill_trees):
answer = []
for k in skill_trees:
str1 = ""
for i in k:
if i in skill:
str1 += i
answer.append(str1)
cnt = 0
for j in answer:
if skill[:len(j)] == j:
cnt += 1
return cnt
직관보다는 함수를 좀 더 이용해보면서 연습하는 것이 좋았을 문제였다.
# 팀원의 풀이
# dictionary, get 함수 사용
def solution(skill, skill_trees):
# skill : N, skill_trees : L*M
count =0
for sk in skill_trees:
sk_dic={x:i for i,x in enumerate(sk)} # 최대 26
idx=0
for s in skill: # 최대 26
new_idx=sk_dic.get(s,len(sk))
if new_idx<idx:
break
idx=new_idx
else:
count +=1
return count
'cording test' 카테고리의 다른 글
Lv.2 피로도 (0) | 2023.05.31 |
---|---|
LV.1 대충 만든 자판 (0) | 2023.05.31 |
Lv.1 시저 암호(ascii code 사용) (0) | 2023.05.20 |
Lv.0 코드 처리하기 (0) | 2023.05.20 |
Lv.1 체육복 (0) | 2023.05.20 |