코딩/백준

[백준] Hello, BOJ 2022! 코딩테스트 대회 참가후기 파이썬 난이도 무엇...?

thisisjade 2022. 1. 15. 16:08
728x90

백준에서 하는 대회를 처음으로 참가해보았습니다

 

하지만 결과는 처참합니다...

문제가 어려워서 A번도 못풀었네요... 답은 맞는거 같은데 시간초과를 이길수가 없습니다....

 

A번(2022는 무엇이 특별할까?)

N, d = map(int, input().split())
N +=1
cnt = 0
answer = 0

while True:
    n = N
    cnt = 0
    tmp = []
    while True:
        cnt +=1
        if n < d**cnt:
            cnt-=1
            break

    for i in range(cnt+1):
        if (n//(d**(cnt-i)))!=n:
            tmp.append(n//(d**(cnt-i)))
            n = n - (d**(cnt-i))*(n//(d**(cnt-i)))
        elif n < d:
            tmp.append(n)

        if len(set(tmp)) != len(tmp) or len(tmp) > d or N > 10**9:
            break

    if N > 10**9 or d < len(tmp):
        print(-1)
        break
    elif len(set(tmp)) == len(tmp):
        for i in range(len(tmp)):
            answer += tmp[i]*d**(cnt-i)
        print(answer)
        print(tmp)
        break
    else:
        tmp[-1] += 1
        N = 0
        for i in range(len(tmp)):
            N += tmp[i]*d**(cnt-i)

정답이 아닐수도 있는게 시간초과로 되던가 91퍼까지 갔다가 오류라고 뜨더라고요... 흠....

 

백준 대회 난이도 이제 잘알았습니다... 저는 아직 실력이 안되는걸로 ㅋㅋㅋ

728x90