cording test

Lv.2 스킬트리

JM Lee 2023. 5. 20. 19:25
728x90

코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

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