본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 외계어 사전

728x90

📚문제

출처 : 프로그래머스 / 외계어 사전(https://school.programmers.co.kr/learn/courses/30/lessons/120869)

 

📝풀이

def solution(spell,dic):
    for i in dic:
        cnt = 0
        for j in spell:
            if j in i:
                cnt += 1
                if cnt ==len(spell):
                    return 1 
                    break
    return 2

어떻게 할지 고민하다가

cnt를 추가하는 방법을 생각했다

 

dic의 처음 원소인 "sod"를 예로 들어본다면

spell에서 for문을 돌며("p","o","s")

각 원소가 dic에 들어있다면 cnt +=1해준다 

 

그 다음 cnt와 spell의 길이를 비교하는데

이 때 같아진다면 spell의 모든 원소가 dic에

들어있다는 것이므로 cnt와 동일해진다

그러면 그 때 1을 return하고 break(문제에서 답은 두 개 이상 존재하지 않는다고 했으므로)

 

아닐시엔ㄴ 2를 return

728x90