2022년 03월 23일 수요일 - 왜 아직도 수요일인가 그것이 문제로다
오늘 올려볼 문제는 991번 Broken Calculator 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
요즘 실력이 줄은 거 같은 느낌..
입력
사진에서도 볼 수 있듯이 int 값 2개가 입력으로 들어온다.
풀이 및 코드
start에 2를 곱하거나, 1을 빼는 연산만 해서 target을 만드는데 가장 적은 연산 횟수를 구하여 리턴하는 문제다.
오늘은 시행착오를 좀 겪었다.
그리디로 풀면 될줄 알고 start를 바꾸는 방식으로 접근했었는데 예외가 있었다.
그래서 target을 줄이는 식으로 문제를 풀었더니 문제가 풀렸다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int brokenCalc(int start, int target) {
if(start >= target) return start - target;
int result = 0;
while(start < target)
{
if(target % 2 == 1)
{
target++;
result++;
}
target /= 2;
result++;
}
return result + start - target;
}
}
제출 화면
요즘 들어 그렇게 어려운 문제가 아닌데도 문제푸는데 많은 시간이 드는 것 같다.
내일은 적당한 문제를 빠른 시간에 풀 수 있었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 1029번 문제를 풀어보았다. (ft. java) (0) | 2022.03.25 |
---|---|
[LeetCode] 881번 문제를 풀어보았다. (ft. java) (1) | 2022.03.24 |
[LeetCode] 1663번 문제를 풀어보았다. (ft. java) (0) | 2022.03.22 |
[LeetCode] 763번 문제를 풀어보았다. (ft. java) (1) | 2022.03.21 |
[LeetCode] 1007번 문제를 풀어보았다. (ft. java) (0) | 2022.03.20 |