문제 보기(http://acm.kaist.ac.kr/Problems/2005d.pdf)
----
걸린 시간 : 30분
~java
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Pinary {
private static String processOneCase(String line) {
int limit = Integer.parseInt(line);
int count = 0;
String number;
boolean accept = true;
for(int i = 0; i < 90000000 * 2; i++) {
accept = true;
number = Integer.toBinaryString(i);
if (number.charAt(0) == '0') {
continue;
}
int size = number.length();
for(int j = 0; j < size - 1; j++) {
if (number.substring(j, j+2).matches("11")) {
accept = false;
break;
}
}
if (accept) {
count++;
}
if (count == limit) {
return number;
}
}
return null;
}
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line = br.readLine();
int testCase = Integer.parseInt(line);
for(int i = 0; i < testCase; i++) {
line = br.readLine();
String result = processOneCase(line);
System.out.println(result);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
----
(zeropage)코드레이스출동 연습
----
프로그래밍