컴공생의 다이어리
1이 될 때까지 본문
728x90
어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다.
- N에서 1을 뺀다.
- N을 K로 나눈다.
질문
N과 K가 주어질 때, N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 최소 횟수를 구하는 프로그램을 작성하시오.
코드로 구현
아래는 파이썬으로 구현한 코드이다.
N,K=map(int,input().split())
result=0
while True:
if N%K==0:
N/=K
else:
N-=1
result+=1
if N==1:
break
print(result)
아래는 C/C++으로 구현한 코드이다.
#include<iostream>
int main() {
int N, K;
int result = 0;
std::cin >> N >> K ;
while (true) {
if (N % K == 0) {
N /= K;
}
else {
N -= 1;
}
result++;
if (N == 1) break;
}
std::cout << result;
return 0;
}
www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791162243077
이것이 취업을 위한 코딩 테스트다 with 파이썬 - 교보문고
IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년부터 2020년까지의 코딩 테스트와 알고리즘 대회의 기출문제를 엄선하여 수록하였다. 최근 5년간의 코딩 테스트 기출문제
www.kyobobook.co.kr
728x90
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
| 곱하기 혹은 더하기 (0) | 2020.12.18 |
|---|---|
| 모험가 길드 (0) | 2020.12.18 |
| 숫자 카드 게임 (0) | 2020.12.17 |
| 큰 수의 법칙 (0) | 2020.12.17 |
| 거스름돈 (0) | 2020.12.17 |
Comments