https://school.programmers.co.kr/learn/courses/30/lessons/120869
이 문제는 주어진 spell 배열의 원소의 문자들을 모두 사용한 문자열이 있는지 판단 해야 하는 문제이다.
보통 생각한다면 if i not in 배열 이런 식으로 for문과 이용하여 푸는 방법을 많이 생각할텐데 이 문제는 그렇게 풀면 답이 안 나와서 다른 방식으로 접근하게 되었다.
먼저 파이썬에는 집합이 있는데 집합이 존재하므로 집합 연산 또한 존재한다. 그래서 차집합을 이용해서 풀게 되면
for i in dic으로 주어진 문자열을 하나하나 뽑아오고 if not set(spell) - set(i)를 통해 차집합을 표현했는데 차집합은 공통 원소를 제거하는 연산이기에 만약 집합으로 형변환한 spell, set이 같은 원소만 가지고 있다면 0이 되고 if 문에서 0은 False를 나타내 실행이 안 되므로 앞에 not을 붙여줘서 if 문이 True로 실행되게 한 후에 answer = 1을 넣어준 후 문제를 해결하면 된다.
'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글
Lv0 a와 b 출력하기 (0) | 2024.07.18 |
---|---|
Lv0 문자열 겹쳐쓰기 (0) | 2024.07.17 |
[PCCE 기출문제] 2번 / 피타고라스의 정리 (0) | 2024.07.16 |
Lv0 정사각형으로 만들기 (2) | 2024.07.16 |
Lv0 PCCE 기출문제] 4번 / 저축 (0) | 2024.07.15 |