728x90
반응형
[Silver III] 1 - 4375
[문제 링크](https://www.acmicpc.net/problem/4375)

💻 문제 정의
n이 주어질 때, n의 배수 중, 모든 자리가 1로만 이루어진 수가 존재할 때, 그 수의 자릿수를 출력하는 문제이다.
💡 접근 및 설계
문제에 대한 큰 조건이 없으므로 모든 경우를 탐색하여 결과를 찾는다. 따라서 브루트포스를 활용하였다.
✏️ 알고리즘 풀이
num = int(input())
one = 1
cnt = 1
while one % num != 0:
one = one * 10 + 1
cnt += 1
입력받는 num과 1로만 이루어진 숫자 one의 나머지가 0이 될 때 까지 1로만 이루어진 숫자 one의 자릿수를 늘려가며 연산한다.
num = int(input())
one = 1
cnt = 1
while one % num != 0:
one = int(str(one) + "1")
cnt += 1
print(cnt)
다른 방법으로, 문자열 변환 후 1을 붙여 다시 정수형으로 변환하는 방식도 사용할 수 있는데, 이 방식은 왜 인지 모르게 시간초과가 발생하였다.
🗒️ 최종 제출 코드
# 4375 1
while True:
try:
num = int(input())
one = 1
cnt = 1
while one % num != 0:
one = one * 10 + 1
cnt += 1
print(cnt)
except:
break
💭 오늘의 회고
이 문제 또한 EOF 처리 문제였다. 지금까지 EOF 처리하는 문제는 단 한번도 풀지 않았다가 최근에서야 한 두 문제 풀어보았는데, 역시나 익숙치 않아서 그런지 출력 처리 부분에서 실수를 하였다…ㅋㅋ

테스트를 거쳤음에도 불구하고 세 번이나 맞왜틀? 이러고 있었는데 역시 내가 잘못한 거였다. 컴퓨터는 잘못없고 모든 잘못은 개발자에게 있음을 다시 한 번 깨닫게 된 순간이었다.
728x90
반응형
'Coding-Test > 백준' 카테고리의 다른 글
| [Python] 1990 소수인팰린드롬 (0) | 2026.01.14 |
|---|---|
| [Python] 15900 나무 탈출 (0) | 2026.01.10 |
| [Python] 3687 성냥개비 (0) | 2026.01.09 |
| [Python] 19583 싸이버개강총회 (0) | 2026.01.08 |
| [Python] 19538 루머 (0) | 2026.01.07 |