2021/11/15 월요일

Gong Intaek·2021년 11월 15일
0

일상

목록 보기
157/1031
post-thumbnail

TIL


오늘 한 일

  • 휴식
  • leetcode
    • Broken Calculator. (medium)

문제 풀이

Broken Calculator. (medium)

2배하거나 -을 빼는 기능만 가진 계산기를 가지고 시작값에서 목적 값을 만드는데 필요한 최소 조작 횟수를 돌려 주는 문제.

처음 풀이방식은 시작값을 증가 시켜서 목적 값을 만드는 방향으로 진행해보았으나. 명확하지않은 조건 항목과 제대로된 결과를 얻지 못하기에 뒤집어서 목적값으로 부터 시작값을 찾아가는 방향으로 진행하였다.

방향을 뒤집었기에 기능 또한 반대로 동작하는 것을 가정 한다.

  1. 2로 나눈다.

  2. 1을 더한다.

각 버튼이 동작하는 조건은 다음과 같이 정하였다.

  1. 주어진 수가 2로 나누어 떨어지는 경우
  2. 주어지 수가 2로 나누어 떨어지지 않는 경우

그리고 목적 값이 시작값보다 큰경우에만 반복을 수행하게 진행하였다.

시작값이 목적값보다 큰경우에는 기존 기능에서 1로 빼는 수밖에 없으므로 시작값에서 목적 값을 뺀 값을 횟수로 돌려주었다.

위 조건 하에서는 일부 상태에서는 제대로 동작하지 않을을 확인하였다.

해서 다음과 같은 조건을 추가하였다.

  1. 주어진 수가 2로 나누어 떨어지고 계산하려는 목적값이 시작값보다 큰경우

  2. 1에 해당 하지 않는 경우

그리고 반복수행을 계산되는 목적값이 시작값과 동일하지 않으면 반복을 수행하게 하였다.


오늘은...

특별한 일 없음

profile
개발자가 되기위해 공부중

0개의 댓글