[프로그래머스] [LV2] 다음 큰 숫자
업데이트:
📚 다음 큰 숫자
링크📎 : https://programmers.co.kr/learn/courses/30/lessons/12911
난이도 ⭐️⭐️
📖 문제
📝 내 풀이
import java.util.*;
class Solution {
public int solution(int n) {
int answer = n + 1;
int cnt1 = 0, cnt2 = 0;
//1. n을 이진수로 했을때 1의 갯수 세기
while(n!=0)
{
if(n%2 == 1) cnt1++;
n /= 2;
}
//2. n보다 큰 수 while돌리면서 1의 갯수 동일하면 break;
while(true)
{
cnt2 = 0;
n = answer;
while(n!=0)
{
if(n%2 == 1) cnt2++;
n /= 2;
}
if(cnt1==cnt2) break;
answer++;
}
return answer;
}
}
👊🏻 전략
while문만 알면 풀 수 있다..
끝-!
댓글남기기