문제
알고리즘
- 반복문을 통해 단어를 확인한다.
- 단어를 확인하는 과정으로는 단어의 각 알파벳을 확인하며 알파벳과 수를 dic에 추가한다.
- 현재 확인한 알파벳을 temp에 추가한다.
- dic에는 각 알파벳과 수가 추가되어 있을 것이고 temp에는 알파벳을 숫자로 바꾼 값들이 있을 것이다.
- temp와 반복문을 통해 같은 단어인지 확인하고 카운트한다.
코드
import sys
n = int(sys.stdin.readline())
temp = [[] for _ in range(101)]
dic = [{} for i in range(101)]
cnt = 0
# 반복문을 통해 단어를 확인
for i in range(n):
num = 0
m = str(sys.stdin.readline()).rstrip('\n')
# 반복문을 통해 알파벳을 확인하고
# 그 알파벳을 수와 같이 딕셔너리형으로 추가한다.
for j in m:
if j not in dic[i]:
dic[i][j] = str(num)
num += 1
# 현재 확인한 알파벳을 temp에 추가한다.
temp[i] += dic[i][j]
# 반복문을 통해 같은 단어라면 카운트한다.
for i in range(n):
for j in range(i + 1, n):
if temp[i] == temp[j]:
cnt += 1
print(cnt)
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1706번(파이썬): 크로스워드 (0) | 2022.03.27 |
---|---|
[baekjoon] 백준 1421번(파이썬): 나무꾼 이다솜 (0) | 2022.03.26 |
[baekjoon] 백준 1326번(파이썬): 폴짝폴짝 (0) | 2022.03.22 |
[baekjoon] 백준 1283번(파이썬): 단축키 지정 (0) | 2022.03.21 |
[baekjoon] 백준 1182번(파이썬): 부분수열의 합 (0) | 2022.03.20 |