티스토리 뷰
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Stack<Integer> stack = new Stack<>();
Stack<String> result = new Stack<>();
String input = in.readLine();
int size = input.length();
if(size == 1 && input.equals("0")) {
System.out.println(0);
return;
}
for(int i=size-1; i>=0; --i) {
int value = (int)input.charAt(i) - 48;
while(value != 0) {
stack.push(value % 2);
value /= 2;
}
String temp = "";
if(i != 0) {
switch(stack.size()) {
case 0:
stack.push(0);
case 1:
stack.push(0);
case 2:
stack.push(0);
default:
break;
}
}
while(!stack.isEmpty()) {
temp += stack.pop();
}
result.push(temp);
}
while(!result.isEmpty()) {
System.out.print(result.pop());
}
}
}
Java에서 문자열 비교할 때는 equals() 사용...
1280ms가 걸렸다.ㅠㅠ Java 보너스 시간이 없으면 다 시간초과 날 코드인데..
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
11576번 'Base Conversion' (0) | 2018.08.01 |
---|---|
2089번 '-2진수' (0) | 2018.08.01 |
1373번 '2진법 8진법' (0) | 2018.07.31 |
2745번 '진법 변환' (0) | 2018.07.31 |
11005번 '진법 변환 2' (0) | 2018.07.31 |
댓글