일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- immutable
- workflow
- java
- build_test
- compiler
- kotlin
- springboot
- AOP
- 토비의 스프링
- mutable
- aws
- rds
- 알고리즘
- Github
- db
- string
- QueryDSL
- 사이드 프로젝트
- template
- redis
- EC2
- Airflow
- JPA
- Action
- JUnit
- git
- CodeDeploy
- Spring
Archives
- Today
- Total
개발 일기
프로그래머스 레벨2 다음 큰 숫자 (JAVA) 본문
이번에 푼 쉬운 레벨2 문제..!
https://programmers.co.kr/learn/courses/30/lessons/12911
코딩테스트 연습 - 다음 큰 숫자
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니
programmers.co.kr
모든 코드는 GitHub 에 올려놓았다.
어 음.. 쉽다.. 설명할게 따로 없다..
그냥 생각 없이 푸니까 10분 정도 걸린 거 같다.
코드를 보자..!
class Solution {
public int solution(int n) {
int start = n + 1;
int count = 0;
while (n >= 1) {
if(n % 2 == 1) {
count++;
}
n = n / 2;
}
while (true) {
int target = start;
int targetCount = 0;
while (target >= 1) {
if(target % 2 == 1) {
targetCount++;
}
target = target / 2;
}
if(count == targetCount) {
break;
}
start++;
}
return start;
}
}
내장 함수 2진법 변환을 쓸까도 했지만
그냥 2진법으로 내가 바꿔주고 1을 카운트 해준후
n + 1부터 반복문을 돌려주었다..
끝.
이문제는 진짜 쓸게 없다..
'알고리즘 > programmers' 카테고리의 다른 글
프로그래머스 레벨2 게임 맵 최단거리 (0) | 2021.07.20 |
---|---|
프로그래머스 레벨2 피보나치의 수 (JAVA) (0) | 2021.07.20 |
프로그래머스 레벨2 카카오프렌즈 컬러링북 (JAVA) (DFS) (0) | 2021.07.18 |
프로그래머스 레벨3 네트워크 (JAVA) (DFS,BFS) (0) | 2021.07.18 |
프로그래머스 레벨2 숫자의 표현 (JAVA) (0) | 2021.07.16 |