문제 URL : https://www.acmicpc.net/problem/1411
1411번: 비슷한 단어
첫째 줄에 단어의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 한 줄에 하나씩 단어가 주어진다. 단어의 길이는 최대 50이고, N은 100보다 작거나 같은 자연수이다. 각각의 단어는 모두 다르다.
www.acmicpc.net
문제접근법: 우선 길이가 같으면 두쌍이 비슷한단어라고 가정하고 비슷한 단어가 만들어지는지 확인한다고 생각했습니다. aaa bbb 가 있을때 a를 b로 바꿔주는 alphabet visit1배열에 넣고
b는 a로 바꿔주는 alphabet visit2 배열에 넣는다음 만들었던 단어라면 서로 같은지 다른지만 확인하면 되는문제입니다.
파이선 소스 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# -*- coding: euc-kr -*-
# By 콩순이냉장고
n=int(input())
list=[input() for _ in range(n)]
cnt=0
for i in range(0,n-1) :
for j in range(i+1,n) :
s1=list[i]
s2=list[j]
flag =True
if len(s1)==len(s2):
visit1=[0]*26
visit2=[0]*26
for k in range(len(s1)):
idx1=ord(s1[k])-ord('a')
idx2=ord(s2[k])-ord('a')
if visit1[idx1]==0 and visit2[idx2]==0:
visit1[idx1]=s2[k]
visit2[idx2]=s1[k]
elif visit1[idx1]!=s2[k]:
flag=False
break
if flag:
cnt+=1
print(cnt)
|
cs |
궁금한점 혹은 모르는점이 있다면 언제든지 댓글을 이용해주시길 바랍니다.
'백준' 카테고리의 다른 글
백준 11576 Base Conversion (0) | 2020.08.13 |
---|---|
백준 1927 놀라운 문자열 (0) | 2020.08.13 |
백준 10769 행복한지 슬픈지 (0) | 2020.08.10 |
백준 16943 숫자 재배치 (0) | 2020.08.07 |
백준 1956 운동 (0) | 2020.08.07 |