-
[프로그래머스] Lv0 외계어 사전알고리즘 2024. 11. 23. 21:54
우선 spell에 있는 알파벳을 한번씩만 모두 사용한 단어가 dic에 있는지 확인해야 하기에 딕셔너리를 활용해서 spell의 알파벳별 개수를 뽑으려고 했습니다.
다만 문제를 보며 조금 헷갈렸던게 결국 spell의 알파벳들과 dic의 알파벳들이 같아야 answer가 1이 나오는건지 조금 헷갈렸는데 같아야 1이 나오는게 맞는것 같아 아래와 같은 코드로 작성했습니다.
def solution(spell, dic): answer = 0 spell_dict = {alph: spell.count(alph) for alph in spell} for lst in dic: dic_dict = {alph: lst.count(alph) for alph in lst} if dic_dict == spell_dict: answer = 1 return answer if answer == 0: answer = 2 return answer
# 다른 분의 답안 (개념에 대한 이해도가 다르단게 아래 코드를 보고 느낄 수 있었습니다..) def solution(spell, dic): spell = set(spell) for word in dic: if not spell-set(word): return 1 return 2
지문을 읽었을 때 spell과 dic가 같은 알파벳들을 활용하되 다만 순서만 다를 수 있다는 의미라
지금처럼 spell에 set을 해서 중복을 제거하고
dic를 for문 돌려서 여기서도 spell처럼 set으로 중복 제거하고 빼기 처리해서 빈 set이 되는지 아닌지로 같은지를 판단했습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/120869
'알고리즘' 카테고리의 다른 글
[프로그래머스] Lv2 프로세스 (0) 2025.01.03 [프로그래머스] Lv2 올바른 괄호 (0) 2024.12.26 [프로그래머스] Lv1 문자열 나누기 (1) 2024.12.04 [프로그래머스] Lv1 카드뭉치 (0) 2024.11.23