문제
얻은 개념
ord() 를 사용하여 알파벳을 index로 매치하여 풀었다.
ord('Z')와 ord('a') 사이에 다른거 6개 있다.
주의하자 ㅜㅜㅜ
코드
n = int(input())
graph = [[1e9] * 52 for _ in range(52)]
for _ in range(n):
l = input()
l = l.split(" => ")
if l[0].islower():
l[0] = ord(l[0]) - ord('A') - 6
else:
l[0] = ord(l[0]) - ord('A')
if l[1].islower():
l[1] = ord(l[1]) - ord('A') - 6
else:
l[1] = ord(l[1]) - ord('A')
graph[l[0]][l[1]] = 0
for k in range(52):
for a in range(52):
for b in range(52):
if graph[a][k] == 0 and graph[k][b] == 0:
graph[a][b] = 0
count = 0
for a in range(52):
graph[a][a] = 1e9
for a in range(52):
for b in range(52):
if graph[a][b] == 0:
count += 1
print(count)
for a in range(52):
for b in range(52):
if graph[a][b] == 0:
if a>25:
i = chr(a+ord('A')+6)
else:
i = chr(a+ord('A'))
if b>25:
j = chr(b+ord('A')+6)
else:
j = chr(b+ord('A'))
print(i + " => " + j)