-Code
n, m = map(int, input().split())
ice_no = {i: [] for i in range(1, n + 1)}
result = 0
for _ in range(m):
a, b = map(int, input().split())
ice_no[a].append(b)
ice_no[b].append(a)
for i in range(1, n - 1):
for j in range(i + 1, n):
if j in ice_no[i]:
continue
for k in range(j + 1, n + 1):
if k in ice_no[i] or k in ice_no[j]:
continue
result += 1
print(result)
처음에는 리스트를 2개 만들어서 각각에 a, b를 입력하고 i, j만 검사해서 틀렸습니다. 그래서 i, j를 검사하고 i, k와 j, k를 검사를 해줘야하는데 리스트를 2개로하면 코드가 너무 볶잡해져서 해결이 안되어 찾아보니 딕셔너리를 이용하는 방법이 있어서 해결을 했습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 5568번 카드 놓기 (0) | 2022.05.05 |
---|---|
[백준/파이썬] 18511번 큰 수 구성하기 (0) | 2022.05.05 |
[백준/파이썬] 15721번 번데기 (0) | 2022.05.05 |
[백준/파이썬] 18312번 시각 (0) | 2022.05.05 |
[백준/파이썬] 5766번 할아버지는 유명해! (0) | 2022.05.05 |