처음엔 이해가 안됐는데, 손으로 하나하나 써보면서 이해가 됐던 최대공약수 구하는 문제
# 1이 될때까지
# 입력받은 문자열을 공백을 기준으로 구분하여 입력받기
# 각각 공백 기준으로 나눈뒤에, map함수를 이용해서 각각 int형, 즉 정수형으로 바꾼 뒤에 n과 k에 넣은 것
n,k = map(int, input().split())
result = 0
# N이 25 , K가 3
while True:
# N이 k로 나누어 떨어지는 수가 될때까지 빼기
# 25 // 3 x 3
# 25 // 3 => 8
target = ( n // k ) * k
# result = 25 - 3
result += (n - target)
# n = 25
n = target
# 25 < 3
if n < k:
break
# result = 22 + 1
result += 1
# 8
n //= k
# 마지막으로 남은 수에 대하여 1씩 빼기
result += (n-1)
그나저나 이렇게 알고리즘 준비하면서
공부하고 싶었던 파이썬에 다시 익숙해질수 있어서 넘 좋은 것 같다
겸사겸사 드는 생각이 알고리즘이 실무에서 절대 코드를 짜는 것과 전혀 관련이 없다는 말은 틀린것 같다는 생각이 들었다
공부하면서도 ' 아 , 이런 상황에선 이런 알고리즘을 나중에 사용해볼까? ' 하는 생각이 벌써 들기도 하는듯 ㅇㅅㅇ
'📖 나의 개발일지 (WIL&TIL)' 카테고리의 다른 글
[TIL] 오늘의 개발일지 (0) | 2023.04.16 |
---|---|
[TIL] 오늘의 개발일지 (0) | 2023.04.12 |
[TIL] 오늘의 개발일지 (0) | 2023.04.09 |
[TIL] 오늘의 개발일지 (0) | 2023.04.08 |
[TIL] 오늘의 개발일지 (0) | 2023.04.07 |
댓글