1436번: 영화감독 숌

canyi·2023년 6월 18일
0

백준

목록 보기
17/19

문제

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

풀이 (포함 사용)

# N 값을 입력 받음
N = int(input())
# 666 초기화
ans = 666
# 비교 숫자 문자열로 작성
answer = '666'

# N이 0이 될때 까지 반복
while N:
    if answer in str(ans):  #만약 '666'이 현재 숫자에 포함되어 있다면
        N = N - 1  # N값 1감소
    ans = ans + 1 # 1이상의 N을 입력 받을 경우 다음 숫자로 넘김

# N번째 나타내는 숫자 출력
print(ans - 1)

입력값 N을 선언하고 초기화 함수 ans를 만든다.

비교변수 같은 경우 문자열로 작성을 했는데 문자열로 만든 이유는 python 문법상 int형식으로 if in 조건에 걸면 아래와 같이 인수 타입이 int면 안되다는 에러가 뜬다.

TypeError: argument of type 'int' is not iterable

만약에 정수로 비교하고 싶으면 정수형을 반복 가능한 타입으로 변환해야 한다. 예를 들어, range() 함수를 사용하여 정수 범위를 생성하거나, 정수를 리스트 등의 컨테이너에 넣어야 한다.

ex) TypeError: argument of type 'int' is not iterable

while N:
    if answer in ans:  
        N = N - 1 
    ans = ans + 1 

ex) 정확한 예시

while N:
    if answer in str(ans):  
        N = N - 1  
    ans = ans + 1 
profile
백엔드 개발 정리

0개의 댓글

Powered by GraphCDN, the GraphQL CDN