UVA에서 JAVA Submit하기
Posted 2008/01/25 20:41어제부터 UVA 문제를 풀기 시작했다. 하지만, 분명히 내 컴퓨터에서는 문제가 없는데 인터넷상에서 Compile Error, Runtime Error가 발생했다. UVA 홈페이지나, 인터넷을 찾아봐도 각자 책을보고 문제 풀은 것들이 많고 직접 Submit해서 Accept받은 사람의 소스는 찾기 어려웠다.
몇시간동안 찾아본 끝에 드디어 Wrong Answer라는 결과를 받았는데 그때 그렇게 기분이 좋았다.
UVA에서 Java를 Submit하는 방법은 다음과 같다.
1. Class명은 Main으로 한다. (public은 생략 가능)
public class Main {
.....
.....
public static void main(String[] args) {
...............
}
}
}
2. System.in으로 입력받는다. (Scanner나, BufferedReader와 같은 Wrapping된 Util들은 사용할 수 없다).
- (2008/04/23) 이제 Scanner로도 입력이 가능하다고 합니다.
- 입력을 위해 다음의 함수를 붙여넣는다.
public static String readLn (int maxLg) {
byte lin[] = new byte [maxLg];
int lg = 0, car = -1;
try {
while (lg < maxLg) {
car = System.in.read();
if ((car < 0) || (car == '\n')) break;
lin [lg++] += car;
}
}
catch (IOException e) {
return (null);
}
if ((car < 0) && (lg == 0)) return (null);
return (new String (lin, 0, lg));
}
byte lin[] = new byte [maxLg];
int lg = 0, car = -1;
try {
while (lg < maxLg) {
car = System.in.read();
if ((car < 0) || (car == '\n')) break;
lin [lg++] += car;
}
}
catch (IOException e) {
return (null);
}
if ((car < 0) && (lg == 0)) return (null);
return (new String (lin, 0, lg));
}
- 위의 함수를 사용하여 입력받는 예제는 다음과 같다.
String line;
while ((line = readLn(255)) != null) {
StringTokenizer in = new StringTokenizer(line);
a1 = in.nextToken();
.......
}
while ((line = readLn(255)) != null) {
StringTokenizer in = new StringTokenizer(line);
a1 = in.nextToken();
.......
}
3. 결과는 System.out으로 출력한다.
'C.S.E > Algorithm' 카테고리의 다른 글
| [UVA] 101 The Blocks Problem (0) | 2008/01/26 |
|---|---|
| [UVA] 100 The 3N + 1 (0) | 2008/01/25 |
| UVA에서 JAVA Submit하기 (2) | 2008/01/25 |
| [USACO] Checker Challenge (0) | 2008/01/23 |
| [USACO] Superprime Rib (0) | 2008/01/22 |
| [USACO] Prime Palindromes (0) | 2008/01/22 |
- Filed under : C.S.E/Algorithm
- Tag : java, submmit, uva
- 2 Comments Trackback
이올린에 북마크하기