🔗 문제 링크
https://www.acmicpc.net/problem/4375
4375번: 1
2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.
www.acmicpc.net
해당 문제에 대해 다양한 풀이 방법이 있던데, 그중에서 내 풀이를 간단하게 공유해보려고 한다!
🔎 문제 풀이 & 작성 코드
처음 문제를 보았을 때 잘 이해가 되지 않았지만, 다시 읽어보니 어렵지 않은 문제였다. 모든 자릿수가 1로 이루어진 숫자 중에, n의 배수인 가장 작은 수의 자릿수를 출력하는 문제이다. 한 가지 특징이 있다면, 입력의 개수가 몇 개인지 주어지지 않았다는 점이 있는 것 같다. 이는 try&except의 예외 처리를 통해 수행할 수 있다. try&except를 통한 예외처리는 별도의 포스팅으로도 정리해 두었다!
[파이썬] 예외처리 try, except
* 스스로 공부한 내용을 바탕으로 작성한 글입니다. 부정확한 부분이나 오류가 있을 수 있으며, 발견 시 댓글로 알려주세요! 파이썬 코드를 작성하다 보면 에러를 쉽게 마주칠 수 있다. 하지만,
dev-dodom.tistory.com
코드를 작성할 때, 각자릿수가 모두 1로만 이루어진 수중 가장 작은 수를 찾아내야 했기에, 나는 while문을 사용하여 조건을 만족하지 않으면 자릿수를 하나씩 늘려가는 방법을 사용했다. 구해야 할 수를 담은 변수 one은 str, 즉 문자열로 정의해서 사용하였는데, 왜냐하면 작은 수의 자릿수를 출력해야 했기에 int형 변수를 사용하는 것보다, 처음부터 str으로 정의하고 정답 숫자의 자릿수를 len 함수를 이용하여 바로 출력해 주었다. 문제의 규칙만 파악하면 어렵지 않게 풀 수 있는 문제였다.
while True:
try:
n = int(input())
except:
break
one = '1'
while int(one) % n != 0:
one+='1'
print(len(one))
🌍 깃허브 링크
실제 작성한 해당 정답 코드는 깃허브에도 업로드해두었습니다.
dohyun-99 - Overview
dohyun-99 has 4 repositories available. Follow their code on GitHub.
github.com
'Coding Test > Baekjoon' 카테고리의 다른 글
[백준/파이썬] 1463번: 1로 만들기 풀이 (0) | 2023.08.18 |
---|---|
[백준/파이썬] 17427번: 약수의 합 2 풀이 (0) | 2023.08.17 |
[백준/파이썬] 2609번: 최대공약수와 최소공배수 풀이 (0) | 2023.08.04 |
[백준/파이썬] 3009: 네 번째 점 풀이 (0) | 2023.08.01 |
[백준/파이썬] 10809: 알파벳 찾기 풀이 (0) | 2023.08.01 |