[LeetCode] 397. Integer Replacement

2020. 3. 24. 04:59· 🖥️ Computer/Algorithm Solution

Given a positive integer n and you can do operations as follow:

  1. If n is even, replace n with n/2.
  2. If n is odd, you can replace n with either n + 1 or n - 1.

What is the minimum number of replacements needed for n to become 1?

 

Example 1:

Input:

8

 

Output:

3

 

Explanation:

8 -> 4 -> 2 -> 1

 

Example 2:

Input:

7

 

Output:

4

 

Explanation:

7 -> 8 -> 4 -> 2 -> 1

or

7 -> 6 -> 3 -> 2 -> 1

 


코드

class Solution {
public:
    int integerReplacement(int n) {
        long int k{n};
        int cnt{0};
        while(k!=1){
            if(k == 3)
                return cnt + 2;
            if(k%2 == 1){
                if((k-1)/2 % 2 == 1)
                    k+=1;
                else
                    k-=1;
            }
            else
                k/=2;
            cnt++;
        }
        return cnt;
    }
};

'🖥️ Computer > Algorithm Solution' 카테고리의 다른 글

[BAEKJOON] 2960번 : 에라토스테네스의 체  (0) 2020.07.09
[LeetCode] 389. Find the Difference  (1) 2020.03.25
[LeetCode] 278. First Bad Version  (4) 2020.03.24
[LeetCode] 7. Reverse Integer  (1) 2020.03.23
[BAEKJOON] 7568번 : 덩치  (0) 2020.03.20
'🖥️ Computer/Algorithm Solution' 카테고리의 다른 글
  • [BAEKJOON] 2960번 : 에라토스테네스의 체
  • [LeetCode] 389. Find the Difference
  • [LeetCode] 278. First Bad Version
  • [LeetCode] 7. Reverse Integer
_주노
_주노
_주노
juno.log
_주노
전체
오늘
어제
  • 분류 전체보기 (88)
    • 💬 Language (15)
      • C (1)
      • C++ (1)
      • Java (12)
    • 🖥️ Computer (46)
      • Data Structure (2)
      • Computer Science (3)
      • Algorithm Solution (41)
    • 🌱 Spring (14)
    • 📦 Database (1)
    • 🥳 Project (6)
      • kakao chatbot (6)
    • 😆 Daily (5)
      • 잡담 (5)
      • TIL (0)

블로그 메뉴

  • 홈
  • 블로그 관리
  • GitHub
  • Velog

인기 글

hELLO · Designed By 정상우.v4.2.0
_주노
[LeetCode] 397. Integer Replacement
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.