프로그래머스 레벨 2 달성! 코딩테스트 연습 문제중에서 나오는듯 한데 비슷한 유형들을 리뷰한다.
import java.util.Stack;
class Solution
{
public int solution(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (!stack.isEmpty() && stack.peek() == c) {
stack.pop();
} else {
stack.push(c);
}
}
return stack.isEmpty() ? 1 : 0;
}
}
public int solution(int n) {
int countOne = intToBinaryAndCountOne(n);
n += 1 ;
while (countOne != intToBinaryAndCountOne(n)){
n++;
}
return n;
}
private int intToBinaryAndCountOne(int n) {
int count = 0;
String nToBinary = Integer.toBinaryString(n);
char[] charArray = nToBinary.toCharArray();
for (char c : charArray) {
if (c == '1'){
count++;
}
}
return count;
}