Leetcode Java Broken Calculator
업데이트:
문제
코드
class Solution {
public int brokenCalc(int startValue, int target) {
int result = 0;
while (target > startValue) {
if (target % 2 > 0) {
target++;
} else {
target /= 2;
}
result++;
}
return result + startValue - target;
}
}
결과
설명
- 처음 값이 startValue인 계산기를 이용하여 target이 될 때까지 아래의 연산을 이용하여 수행할 경우 최소 작업 횟수를 구하는 문제이다.
- 보이는 숫자에 2를 곱해준다.
- 보이는 숫자에 1을 뺴준다.
-
result는 최소 작업 횟수를 저장할 변수로, 0으로 초기화한다.
- target이 startValue가 될 때까지 아래를 반복한다.
- target이 홀수인 경우, target을 증가시켜준다.
- target이 짝수인 경우, target에 target을 2로 나눈 값을 넣어준다.
- 위를 수행하였으므로 result를 증가시켜 횟수를 증가시킨다.
- 반복이 완료되면 result에 $startValue - target$인 오차 값을 더해 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기