πŸ—οΈ Algorithm/🟩 λ°±μ€€

[λ°±μ€€] [Python] 1436번_μ˜ν™”κ°λ… 숌_브루트 포슀

Dbswnstjd 2022. 10. 11. 20:04

문제

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

 

1436번: μ˜ν™”κ°λ… 숌

666은 쒅말을 λ‚˜νƒ€λ‚΄λŠ” 숫자라고 ν•œλ‹€. λ”°λΌμ„œ, λ§Žμ€ λΈ”λ‘λ²„μŠ€ν„° μ˜ν™”μ—μ„œλŠ” 666이 λ“€μ–΄κ°„ 제λͺ©μ„ 많이 μ‚¬μš©ν•œλ‹€. μ˜ν™”κ°λ… μˆŒμ€ μ„Έμƒμ˜ 쒅말 μ΄λΌλŠ” μ‹œλ¦¬μ¦ˆ μ˜ν™”μ˜ 감독이닀. 쑰지 λ£¨μΉ΄μŠ€λŠ” μŠ€νƒ€

www.acmicpc.net

풀이

# λ°±μ€€ 1436번 문제 - μ˜ν™”κ°λ… 숌 
N = int(input())

cnt = 0
nbr = 666

while True :
    if "666" in str(nbr) :
        cnt += 1
    if cnt == N :
        print(nbr)
        break
    print(nbr)
    nbr += 1

처음 문제λ₯Ό 봀을 λ•Œ κ·œμΉ™μ„ 찾으렀고 ν•˜μ˜€μœΌλ‚˜ 별닀λ₯Έ κ·œμΉ™μ„ μ°ΎκΈ° μ–΄λ €μ› κ³  

완전탐색을 톡해 문제λ₯Ό ν•΄κ²°ν•˜λ €κ³  ν•˜μ˜€λ‹€. 

일단 처음 μ‹œμž‘μ€ 666μ΄λ―€λ‘œ 666λΆ€ν„° 1을 더해쀀닀.

while문을 톡해 λ¬΄ν•œλ°˜λ³΅μœΌλ‘œ 666λΆ€ν„° n번째둜 μž‘μ€ μˆ˜κ°€ λ‚˜μ˜€λ„λ‘ κ΅¬ν˜„ν•˜μ˜€λ‹€. 

λ‚΄κ°€ 잘 μƒκ°ν•˜μ§€ λͺ»ν•œ 뢀뢄은 666을 숫자둜만 ν•˜μ˜€λ‹€.

κ·Έλž˜μ„œ 파이썬의 μž₯점인 λ¬Έμžμ—΄ 비ꡐλ₯Ό μ²˜μŒμ— λ– μ˜¬λ¦¬μ§€ λͺ»ν•˜μ—¬ μ‹œκ°„μ„ 많이 λ‚­λΉ„ν–ˆλ‹€.  

whileλ¬Έ μ•ˆμ— if cnt == N 은 μ’…λ§μ˜ μˆ«μžκ°€ λ‚˜μ˜¬λ•Œ λ§ˆλ‹€ cnt둜 μ„Ό ν›„ μž…λ ₯κ°’κ³Ό κ°™λ‹€λ©΄ κ·Έ 숫자λ₯Ό 좜λ ₯ν•˜κ³  λ°˜λ³΅λ¬Έμ„ 끝내쀀닀.