[BOJ] 1075: 나누기.py

이슬비·2023년 2월 3일
0

Algorithm

목록 보기
69/110
post-thumbnail

오예! 역시 브론즈는 빨리 풀려!

1. 내 풀이

import sys
input = sys.stdin.readline

n = input()
f = int(input())

m = int(n[:-3]+'00')
i = 0

while(True):
    if (m+i)%f == 0:
        break
    else:
        i += 1
        
print(str(m+i)[-2:])

처음에 풀면서 이게 맞나 ...? 라는 생각을 몇 번 했는데 결과는 맞았다! 풀이 설명부터 하자면,

  • 끝에 두 자리 수만 따지면 되니까 일단 그 수들을 가장 basic한 00으로 만들어준다.

  • 그리고 1씩 더해주면서 나눠지는 가장 작은 수를 찾을 건데, 이때 i는 꼭 0부터 설정해주어야 한다. 그 이유는 만약 n = 1000f = 2 일 때 답은 00이 될텐데, i가 1부터 시작하게 된다면 영영 그 답을 찾을 수 없게 될 것이다 ... 그러니 꼭 0부터 시작해주어야 한다.

  • 그리고 m+if로 나눴을 때 나머지가 0이게 되면 바로 while문을 빠져나온다.

2. 다른 풀이

n = input()
f = int(input())
a = int(n[:-2] + '00')
while True:
    if a % f == 0:
        break
    a += 1
print(str(a)[-2:])

풀이 출처: https://pacific-ocean.tistory.com/109

매번 보는 풀이 블로그의 풀이가 나랑 굉장히 비슷하다 !!!! 뿌-듯.
나 좀 성장했다 !

3. 마치며

좋아 좋아 ~ 이대로 가보자구 ~

profile
정말 알아?

0개의 댓글