Baekjoon Case

[백준 #1436] 영화감독 숌 - 파이썬(python)

Scarlett_C 2021. 8. 10. 14:26
728x90

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

브루트 포스 단계인데 왜 이런 문제가 나왔지.. 라고 한참 생각했던 문제다.

되게 간단한건데 왜 자꾸 틀리지..하면서 좀 헤맸던 것 같음

 

def possum(n):
    pos=[]
    while n>0:
        pos.append(n%10)
        n=n//10
        if n%10==n: 
            pos.append(n)
            break
    if pos.count(6)>=3:
        return(True)

N=int(input())
a=1
cnt=0
while True:
    if possum(a): cnt+=1
    if cnt==N:break
    a+=1
    
print(a)

처음에는 문제를 6이 3개 들어가는 수를 구하라는 건 줄 알고,

이전에 자릿수 더하는 분해합 문제에서 썼었던 함수를 조금 변형해서 코드를 짰다.

계속 틀리다고 해서 대체 뭐가 문제야.. 했는데 

알고보니 6이 연속으로 3개 들어가야 했던 것.. 바보..

N=int(input())
cnt=0
a=666
while True:
    b=str(a)
    for i in range(len(b)-2):
        if b[i:i+3]=='666': 
            cnt+=1
            break
    if cnt==N: break
    a+=1
    
print(a)

간단해진 코드..

a=0부터 할 수 있지만 굳이.. 666이 첫번째인 걸 아니까 666부터 시작했다.

 

이 것보다 더 클린한 코드가 있으면 좋겠지만

나의 한계 ㅜ

728x90