알고리즘/백준
[python] 백준 1075번 나누기
펄찌
2021. 9. 13. 23:28
문제 요약 및 풀이
N이 1000이고 F가 3일 때, N의 일의 자리, 십의 자리를 적절하게 제일 작게 바꿔서 바뀐 N을 F로 나누어 떨어지게 만들어야 한다. 바뀐 N은 1001이고 결과 출력 값은 02가 되는 것.
내가 생각한 풀이는
1. N을 입력받아서 일단 해당 일의 자리와 십의 자리를 00으로 바꿔줌
2. 바뀐 N을 int형으로 바꾸어서 F와 떨어지는지 확인 후 떨어지지 않는다면 1씩 누적시켜서 F와 떨어질 때까지 확인
3. 나누어 떨어진다면 해당 N의 십의자리와 일의 자리를 출력
3번은 슬라이싱으로 쉽게 표현할 수 있다.
아래의 표를 통해 N = 266, F가 9일 때의 결과를 출력해보겠다.
N (입력) | F (입력) | 바뀐 N | N % F | N[-2:] (출력) |
266 | 9 | 200 | False | |
201 | False | |||
202 | False | |||
203 | False | |||
204 | False | |||
205 | False | |||
206 | False | |||
207 | True | 07 |
아래의 표를 통해 결과값이 07이 나온다.
완성된 코드!! 👍😊
N = input()
F = input()
r = int(N) - int(N[-2:])
while True:
if r % int(F) == 0:
str_r = str(r)
print(str_r[-2:])
break
r += 1
반응형