split 과 toCharArray
by 키위먹고싶다split은 문자열을 String타입의 배열로 만들어주고,
toCharArray는 문자열을 char[] 타입으로 만들어준다.
class Solution {
public int solution(int n) {
int answer = 0;
String binary = Integer.toBinaryString(n);
char[] number_one = binary.toCharArray();
int count = 0;
for(int i=0; i<number_one.length; i++){
if(number_one[i] == '1'){
count++;
}
}
while(true){
int nextInt = ++n;
char[] next = Integer.toBinaryString(nextInt).toCharArray();
int next_count = 0;
for(int i=0; i<next.length; i++){
if(next[i] == '1'){
next_count++;
}
}
if(count == next_count){
answer = nextInt;
break;
}
}
return answer;
}
}
매개변수 n을 입력받아서 n보다 큰 자연수를 이진수로 변환했을 때, 1의 갯수가 같은 숫자중 최소값을 구하는 문제이다.
그런데 split으로 String배열에서 1의 갯수를 비교하는 방식으로 풀때와 toCharArray를 사용해서 char배열에서 1의 갯수를 비교하는 방식이 결과값은 같지만, split으로 풀때 효울성 문제로 통과 하지 않던 문제가 toCharArray를 풀때는 통과했다. toCharArray가 split보다 속도가 빨라서 일까? ... 궁금함...
'java' 카테고리의 다른 글
익명객체와 함수형인터페이스 '람다식' (0) | 2021.12.16 |
---|---|
ThreadPoolExecutor을 이용한 효율적인 멀티쓰레드 이용 (0) | 2021.12.15 |
Comparable, Comparator 에 관하여 (0) | 2021.12.12 |
쓰레드 (0) | 2021.12.10 |
Collections Framework 총 정리 (0) | 2021.12.05 |
블로그의 정보
kiwi
키위먹고싶다