[프로그래머스] - 다음 큰 숫자(Java)

병찬·2022년 3월 31일
0

프로그래머스

목록 보기
39/52
post-thumbnail

문제📝


풀이💡

  • Integer.bitCount를 이용해서 2진수로 변환한 1의 개수를 구한다.
  • 큰 수의 비트 수를 나타내는 bit_cnt를 선언한다.
  • n을 증가시키고 bit_cnt와 원래 수의 1의 개수가 같으면 종료한다.

코드💻

/*
 * 프로그래머스 Lv2 - 다음 큰 숫자
 * 문제링크:https://programmers.co.kr/learn/courses/30/lessons/12911
*/

class Solution {
    public int solution(int n) {
        int answer = 0;
        int n_bit = Integer.bitCount(n); 
       
        int bit_cnt = 0; // 큰 수의 비트 수를 나타나는 변수
        
        while(true) {
		  n++; 
		  bit_cnt = Integer.bitCount(n);
		  if(bit_cnt == n_bit) { 
			answer = n;
			break;
		  }
	 }
        return answer;
    }
}

결과😎


느낀점👨‍💻

Integer.bitCount라는 메소드를 이 문제를 통해 알게 되었고 그 덕분에 문제를 쉽게 풀 수 있었던 것 같다. 자바의 메소드를 잘 알지 못하는데 유용한 메소드가 은근히 많은 것 같다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글

관련 채용 정보