😎풀이

  1. target의 절댓값을 구함 (양의 값이든 음의 값이든 가야할 거리는 같음)
  2. sum < target이라면, 어차피 모두 더해도 닿지 못하므로 초과할 때까지 더함
  3. 초과 시점에 차잇값이 홀수라면, 이미 더한 값을 뺀들 2i 만큼 빠지므로 불가능 짝수가 될 때까지 반복
  4. 도달에 필요한 최소 수 반환
function reachNumber(target: number): number {
    const t = Math.abs(target)
    let i = 0
    let sum = 0
    while(sum < t || ((sum - t) % 2) !== 0) {
        i++
        sum += i
    }
    return i
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글