참치코더의 꿈 메모장

알고리즘 84일차 - 프로그래머스 기출 문제(JAVA) / 다음 큰 숫자 본문

잡다한 웹지식

알고리즘 84일차 - 프로그래머스 기출 문제(JAVA) / 다음 큰 숫자

참치깡 2025. 7. 31. 13:47
728x90

전체 코드 부분

 

- n의 1의 개수가 같은 최소값의 큰수를 출력하는 문제이다.

 

- 처음 Stream을 이용해서 1의 비트수를 힘들게 구했는데, 성능 문제 오류가 났다...

- 찾아보니 Integer.bitCount를 하면 숫자로 된 값의 1의 개수를 구하는 메서드가 존재했다.

 

- 이렇게 입력값의 비트수를 구하고 while문을 돌리면서 n보다 큰 수를 차례로 비교해가며 만약 

  1의 개수가 같을때 n의 값을 반환하면 정답을 얻을 수 있다. ^^

 

* 빅오 표기법으로 표시하면 위 코드는 O(1) 성능 아래 코드는 O(n) 성능을 보인다.

   (메서드의 소중함을 느끼게 됐다....)

 

성능 오류가 발생한 코드

 

 

https://school.programmers.co.kr/questions/89752

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
Comments