반응형
코드
def check(i,j):
cnt = 0
for a in range(5):
for b in range(7):
if n_list[i][a][b] != n_list[j][a][b]:
cnt += 1
return cnt
n = int(input())
n_list = []
for i in range(n):
i_list= []
for j in range(5):
i_list.append(list(input()))
n_list.append(i_list)
min_n = 36
for i in range(n):
for j in range(i+1,n):
num = check(i,j)
if num < min_n:
a,b = i,j
min_n = num
print(a+1,b+1)
설명
check 함수에서 칸을 하나씩 모두 비교해서 다르면 cnt를 1 증가시켰고 이 값을 return 해줬다. return 받은 값이 기존의 최솟값보다 작은 경우 최솟값을 갱신시켜주고 최솟값을 갖는 두 그림의 번호를 a,b에 저장했다.
최솟값의 초기값은 그림이 총 35칸이기 때문에 36으로 두었다.
반응형
'알고리즘 > 완전탐색' 카테고리의 다른 글
[백준][Python] 1251번 단어 나누기 (0) | 2022.07.21 |
---|---|
[백준][Python] 11170번 0의 개수 (0) | 2022.07.20 |
[백준][Python] 18512번 점프 점프 (0) | 2022.07.18 |
[백준][Python] 1145번 적어도 대부분의 배수 (0) | 2022.07.15 |
[백준][Python] 13410번 거꾸로 구구단 (0) | 2022.07.15 |
댓글