알고리즘 정리
코테 개념(nextLine 입력, StringTokenizer 입력)
로미로미로
2024. 11. 9. 21:24
다음과 같이 입력 받았을 때 int 형의 이중배열로 처리하는 방법
5
14054
44250
02032
51204
52212
(scanner를 사용했을 때)
int N = scanner.nextInt();
int[][] arr = new int[N][N];
scanner.nextLine(); // 버퍼 비우기
for (int i = 0; i < N; i++) {
String line = scanner.nextLine();
for (int j = 0; j < N; j++) {
arr[i][j] = line.charAt(j) - '0'; // char를 int로 변환
}
성능 향상을 위해 BufferedReader와 StringTokenizer를 사용해 문자열을 숫자로 변환시키는 방법
10 1238099084
16 4100112380990844
다음과 같이 입력을 받았을 때
public class Solution {
static int N;
static List<String> list;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(int t = 1; t<=10; t++) {
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken()); //처음 입력 받은 숫자
list = new LinkedList<>(); //LinkedList 생성
String line = st.nextToken(); //line이라는 문자열을 입력 받고
for(int i=0; i<line.length(); i++) {
list.add(line.substring(i,i+1)); //line의 i번째 문자를 list에 추가
}
}
}
}