BoJ 26652 - Zero [with Python / 문제 한국어로 번역]

ssook·2023년 10월 12일
0

BoJ 문제기록

목록 보기
25/29
post-thumbnail

📍 문제

당신은 숫자 1부터 시작하여 증가하는 순서대로 양의 정수를 쓰고 있습니다.
하지만 숫자 0은 배우지 못했기 때문에 어떤 위치에서도 숫자 0을 포함하는 숫자는 제외하고 작성해야 합니다.
이를테면 처음 열 개의 정수는 1, 2, 3, 4, 5, 6, 7, 8, 9, 11입니다. 여러분은 방금 정수 k(이 정수에는 0이 없음이 보장됩니다!)를 작성했는데, 다음으로 작성할 정수는 무엇일까요?

입력

첫 번째 줄에는 테스트 케이스의 수를 나타내는 단일 정수 n을 입력 받아주세요.
각 테스트 케이스는 1 이상 999,999 이하의 정수 k (k에는 숫자 0이 포함되지 않음이 보장됨)가 포함된 단일 줄로 구성됩니다.

출력

각 테스트 케이스에 대해, 한 줄에 하나의 정수를 출력하세요.
해당 정수는 당신이 다음으로 쓸 정수입니다!


📍 아이디어

정말 전형적인 그리디 문제.
알고리즘을 처음 접하는 사람한테 그리디가 뭐에요? 하면 바로 추천해줄 수 있는 그런 난도의 문제이다.
사실 알고리즘까지는 아니고 모든 정수를 돌면서 0이 있는 정수는 제외하고 바로 다음으로 0이 없는 정수를 출력하면 되는 문제이다.


📍 제출 코드


import sys

t = int(sys.stdin.readline().rstrip())

for i in range(t):
  num = int(sys.stdin.readline().rstrip())

  while True:
    num += 1
    if '0' not in str(num):
      print(num)
      break

profile
개발자에서, IT Business 담당자로. BrSE 업무를 수행하고 있습니다.

0개의 댓글