알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1919] 애너그램 만들기

hueco 2021. 7. 28.

 

문제 링크: https://www.acmicpc.net/problem/1919

 

1919번: 애너그램 만들기

두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs

www.acmicpc.net

 

틀린 풀이 1:

 

틀린 풀이 2 - 런타임 에러(KeyError):

 

맞은 풀이:

 

Review:

 두 번 틀렸을 때 dic1과 dic2에서 각각 key를 뽑아낼 필요 없이 dic1에서만 key를 뽑고 해당 키로 dic1과 dic2에서 알파벳의 개수를 뽑아내면 된다는 것을 확인했다. 해당 부분을 적용해서 풀이를 제출했을 때 런타임 에러가 발생했는데 이 부분은 if 조건문에서 dic1에서 뽑은 key가 dic2에 있는지 확인도 하기 전에 해당 key로 dic2에 접근해서 존재하지 않는 key로 값을 뽑아내려고 했기 때문에 발생했다는 것을 확인했다. 해당 부분의 코드를 수정하고 문제를 맞힐 수 있었다.

 

Idea:

 두 문자열에 공통으로 존재하는 알파벳의 개수를 센다. 해당 수를 두 문자열의 길이에서 각각 빼고, 뺀 수를 더한 뒤에 출력한다.

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_1974] 스택 수열  (0) 2021.07.29
[BOJ_2161] 카드 1  (0) 2021.07.29
[BOJ_11328] Strfry  (0) 2021.07.28
[BOJ_10807] 개수 세기  (0) 2021.07.28
[BOJ_1267] 핸드폰 요금  (0) 2021.07.28

댓글