백준 4375번 : 1

2024. 6. 29. 13:15개인활동/코테

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

이 문제.. 이해하는데 정말 어려웠다.

말을 왤케... 이상하게 적은 것 같지.. 간혹 이런 문제가 있는 것 같다.

 

이 문제 1의 경우 일단 입력받은 n의 배수 중 모든 자리수가 1인 경우, 즉 11, 111, 1111 이런 수들을 의미한다.

n의 배수 중 모든 자리수가 1인 배수가 있을 때 그 배수 중 가장 작은 배수를 뽑아내어 몇자리 수인지 출력하는 것!

import sys
inputs = sys.stdin.read().strip().split()

for i in inputs:
  num = "1"
  while num:
    if not(int(num) % int(i)): print(len(num)); break
    else: num += "1"

내 코드는 입력값을 sys를 이용해 input값들을 모두 받아내어 for문을 돌리고, 그 안에서 while문을 통해 모든 자리수가 1인 수에 대해 배수가 맞는지를 확인한다.

 

굿~