본문 바로가기
프로그래밍/알고리즘

백준 3711 파이썬

by laoching 2022. 6. 13.
728x90
반응형

아이디어

학생들이 1명이면 구분 가능하니 무조건 1이 나오도록 하자

학생들이 2명 이상이면 학번을 받는 리스트와 학번을 m으로 나눈 나머지가 담긴 리스트의 길이를 비교해서 똑같으면 m을 출력하자

m으로 나눈 나머지가 담긴 리스트는 set으로 변경했다가 다시 리스트로 바꿔준다. set으로 바꿔주면 중복을 지울 수 있음. 하지만 len 함수의 사용이 불가능하기 때문에 다시 리스트로 변경해줌

 

import sys

for _ in range(int(sys.stdin.readline())):
    li = []
    n = int(sys.stdin.readline())
    for __ in range(n):
        li.append(int(sys.stdin.readline()))
    if n == 1:
        print(1)
    else:
        cnt = 2
        while 1:
            divli = []
            for i in range(len(li)):
                divli.append(li[i] % cnt)
            dd = set(divli)
            dd = list(dd)
            if len(li) == len(dd):
                print(cnt)
                break
            else:
                cnt += 1
728x90
반응형

'프로그래밍 > 알고리즘' 카테고리의 다른 글

[프로그래머스] 푸드 파이트 대회(파이썬)  (0) 2023.06.21
백준 1373  (0) 2022.07.07
백준 2755 파이썬  (0) 2022.01.20
백준 9093 파이썬  (0) 2022.01.19
백준 1110 파이썬  (0) 2022.01.18

댓글