티스토리 뷰

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
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
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
글 보관함