망나니 AWOS의 일상
article thumbnail

문제 풀이

내가 생각한 방법은 이렇다.

단어들을 리스트로 받아 리스트의 원소(문자)들을 정렬하고 정렬된 문자들을 이어 붙여 하나의 단어로 만든 후에 

그 문자들이 새로운 리스트에 담는데 만약에 새로운 리스트에 해당 문자가 없을때만 담으면 그룹을 출력할 수 있을 것 같았다.

 

글이 이해가 안되면 그림을 하나 보자. 예제 입력 1이다.

주어진 단어들이 총 4개인데 리스트로 만들어 정렬한 후 리스트의 원소들을 이어 붙여 하나의 새로운 단어로 만든 것이다. 만들어진 단어들을 새로운 리스트에 순차대로 넣어 만약에 해당 단어가 새로운 리스트에 없을 때에만 추가해주면 된다. 그렇게 하면 해당 그룹은 2개( act와 dgo )로 나뉘어진다. 

 

완성된 코드!!👍😊

n = int(input())
word_list = list()
for _ in range(n):
    s = ''.join(sorted(input()))
    if s not in word_list:
        word_list.append(s)
print(len(word_list))

'알고리즘 > 백준' 카테고리의 다른 글

[python] 백준 1120번 문자열  (0) 2022.02.27
[python] 백준 7120번 String  (12) 2022.02.21
[python] 백준 1269번 대칭 차집합  (0) 2022.02.04
[python] 백준 1764번 듣보잡  (0) 2022.02.01
[python] 백준 1439번 뒤집기  (0) 2022.01.31
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!