관리 메뉴

πŸ’»πŸ’­πŸŽ§πŸŒ

BOJ 1436 : μ˜ν™”κ°λ… 숌 (Python) λ³Έλ¬Έ

μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€ 풀이

BOJ 1436 : μ˜ν™”κ°λ… 숌 (Python)

adorableco 2023. 11. 17. 00:19
λ°˜μ‘ν˜•

문제

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

 

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

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

www.acmicpc.net

 

 

μ½”λ“œ

n = int(input())

result = 1
endNum = 666
while (True):
    numString = str(endNum)  # μ •μˆ˜μΈ endNum을 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ '666'이 μžˆλŠ”μ§€ 확인할 수 μžˆλ„λ‘ 함
    if '666' in numString:
        if n == result:  # μ›ν•˜λŠ” 번째의 쒅말 μˆ«μžκ°€ λ§žλ‹€λ©΄
            print(endNum)
            break
        else:
            result += 1
    endNum += 1

 

 

풀이

μ•Œκ³ λ¦¬μ¦˜ λΆ„λ₯˜μ— 브루트포슀 μ•Œκ³ λ¦¬μ¦˜μ΄λΌκ³  μ ν˜€μžˆλŠ”κ±Έ 보고 μ„€λ§ˆν–ˆλŠ”λ° 정말 ν•˜λ‚˜ν•˜λ‚˜μ”© 해보면 ν’€λ¦¬λŠ” λ¬Έμ œμ˜€λ‹€. 666이 쒅말 μˆ«μžμ΄λ‹ˆ 666 미만의 μˆ«μžλŠ” κ³ λ €ν•  ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ 666λΆ€ν„° μ‹œμž‘ν•˜λ©΄ λœλ‹€. 숫자 내에 666이 μžˆλŠ”μ§€ νŒλ³„ν•˜κΈ° μœ„ν•΄μ„œλŠ” 숫자λ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ '666' λ¬Έμžμ—΄μ΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” 방법이 μ‰¬μš΄ 것 κ°™λ‹€. λ°˜λ³΅ν•΄μ„œ μ›ν•˜λŠ” λ²ˆμ§ΈκΉŒμ§€ λ„λ‹¬ν•˜λ©΄ μ •λ‹΅!

λ°˜μ‘ν˜•