본문 바로가기

코딩테스트

[프로그래머스(Programmers)/Level2](Python) 후보키

<내코드>

<풀이과정>

combination을 사용하여 속성들의 조합을 구하고,

해당 속성에 해당하는 값들을 string으로 이어붙여준 후,(각 행마다 실행한다)

그 이어붙인 값들을 담은 리스트를 셋으로 변환했을때도 길이가 같으면, 해당 속성의 조합은

유일성을 만족하므로 리스트에 담아준다.

이렇게 유일성을 만족하는 속성의 조합들 중, 최소성을 만족하는지 확인하기 위해,

set연산들을 사용해서 찾아준다.

 

<느낀점>

combination으로 바꾸는데 속성이 하나 짜리들은 (0,)이런식으로 콤마가 들어가서 다른 방법을 이용해서 풀까

생각하다가 리스트로 바꿔봤더니 콤마가 사라졌다. 리스트가 반복문 중간에 값이 삭제되거나 추가되어도

문제가 되지 않게 아기위해 [:]를 이용하는 법을 배웠다. 문제자체가 조금 까다로웠으며 많은것을 배울 수 있었다.