망나니 AWOS의 일상
article thumbnail

문제 요약 및 풀이

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
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!