반응형
백준 알고리즘 사이트에서 알고리즘 문제를 꾸준히 풀어보고 있습니다.
저는 주로 Java 언어를 사용하여 진행하고 있는데,
그 과정에서 컴파일에러, 시간초과 등 많은 에러를 보았습니다.
그 중 콘솔에서 입력 값을 받을 때 문제가 발생하는 경우가 있어 이 글을 작성합니다.
Scanner 대신 BufferedReader를 !
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String 을 int로 바꿀때 !
1. charAt()
br.readLine 을 하면 String 으로 그 값을 받아오는데, int 로 변경할 떄
Integer.parseInt를 주로 사용하였습니다.
그러나 최근 charAt을 응용하여 변경하는 법을 알게되어 공유드립니다.
String s = br.readLine();
for(int i=0;i<row;i++) {
String s = br.readLine();
for(int j=0;j<column;j++) {
maze[i][j] = s.charAt(j)-'0';
}
}
2. StringTokenizer
charAt 으로 변환하면 두자리이상의 정수는 변환이 어렵습니다.
이런 경우에는 StringTokenizer를 이용하는 것이 좋습니다.
사용 방법은 아래와 같습니다.
StringTokenizer st;
for(int i=0;i<size;i++) {
st = new StringTokenizer(br.readLine());
for(int j=0;j<i+1;j++) {
triangleNums[i][j]=Integer.parseInt(st.nextToken());
}
}
감사합니다.
반응형
'알고리즘' 카테고리의 다른 글
최소신장트리 (0) | 2020.12.06 |
---|---|
String, StringBuilder, StringBuffer (0) | 2020.11.23 |
Hash Table (0) | 2020.11.15 |
스택과 큐 (0) | 2020.09.06 |
이차원 배열 정렬 (0) | 2020.08.23 |