Problem Solving/브루트포스

[백준-python] 1436번: 영화감독 숌

Dev_en 2022. 1. 27. 23:29
  • 분류 - 브루트 포스
  • 난이도 - 실버5

첫 시도 때 숫자를 바로 문자열로 바꿀 수 있다는 걸 모르고 헛수고했다..😂

첫번째 답안 코드

메모리 30864KB, 시간 7256ms

# 입력
n=int(input())

# 1부터 시작해 1씩 증가시키며 그 수(i)를 문자열로 바꾸고, "666"이 있으면 카운트(cnt)를 더해줌.
# 카운트(c)가 n과 같으면 그 수(i)를 출력하고 종료
i=0
cnt=0
while True:
    i+=1
    j=i
    num=[]
    while j>0:
        num.append(j%10)
        j=j//10
    string="".join(map(str, num))
    if "666" in string:
        cnt+=1
    if cnt==n:
        print(int((i)))
        break

 

두 번째 답안 코드

# 입력
n=int(input())

# 1부터 시작해 1씩 증가시키며 그 수(i)를 문자열로 바꾸고, "666"이 있으면 카운트(cnt)를 더해줌.
# 카운트(c)가 n과 같으면 그 수(i)를 출력하고 종료
i=0
cnt=0
while c<n:
    i+=1
    if "666" in str(i):
        cnt+=1
    if cnt==n:
        print(i)