본문 바로가기
코딩테스트 파이썬/백준

학번( 3711번 )

by 세용용용용 2025. 1. 15.

https://www.acmicpc.net/problem/3711

 

나의 풀이

import sys

def _main(n_list):
    answer = 1

    while True:
        check_set = set()
        for i in n_list:
            check_set.add(i % answer)
        if len(check_set) == len(n_list):
            return answer
        answer += 1

n = int(sys.stdin.readline())
for _ in range(n):
    n_ct = int(sys.stdin.readline())
    n_list = []
    for __ in range(n_ct):
        n_list.append(int(sys.stdin.readline()))
    print(_main(n_list))

 

시간 복잡도

for _ in range(n) : n 가지를 구함 ( 선형 시간 복잡도 )
    n_ct = int(sys.stdin.readline())
    n_list = []
    for __ in range(n_ct) : 학번 갯수 ( 선형 시간 복잡도 )
        n_list.append(int(sys.stdin.readline()))
    print(_main(n_list)) : 최소 나머지 구하는 함수 ( 이차형 시간 복잡도 )

해당 알고리즘 시간 복잡도 : 삼차형 시간 복잡도 ( O(n ** 3) )

'코딩테스트 파이썬 > 백준' 카테고리의 다른 글

내려가기 ( 2096번 )  (1) 2025.01.24
최소비용 구하기 ( 1916 )  (0) 2025.01.20
스티커 ( 9465번 )  (0) 2025.01.14
정수 삼각형 ( 1932번 )  (0) 2025.01.13
A → B ( 16953 )  (0) 2025.01.11