초코딩(chocoding)

[CodeUp / java] 1093 : [기초-1차원배열] 이상한 출석 번호 부르기1 본문

[Java] 알고리즘 문제풀이

[CodeUp / java] 1093 : [기초-1차원배열] 이상한 출석 번호 부르기1

sweetychocoding 2023. 9. 5. 00:51
728x90
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int callRollTime = Integer.parseInt(br.readLine());	// 출석을 부를 횟수
		int[] numStudent = new int[23];	// 학생들의 출석 번호
		
		String strRandomNum = br.readLine();	// 랜덤 출석 번호 입력
		String[] arrStrRandomNum = strRandomNum.split(" ");	// String형 배열로 공백 기준으로 저장
		int[] arrRandomNum = new int[arrStrRandomNum.length];	// String형 배열 길이만큼 int형 배열 선언
		
		for (int i = 0; i < arrStrRandomNum.length; i++) {
			arrRandomNum[i] = Integer.parseInt(arrStrRandomNum[i]);  // String형 배열에 값을 형변환하여 int형 배열에 저장
		}
		
		for (int i = 0; i < callRollTime; i++) {
			int randomNum = arrRandomNum[i];	// 배열에 있는 랜덤번호 randomNum에 저장하기
			numStudent[randomNum - 1] += 1;		// 인덱스 번호가 0부터인걸 고려해서 [randomNum-1]에 카운트하기
		}
		
		for (int i = 0; i < numStudent.length; i++) {
			System.out.printf("%d ", numStudent[i]);
		}
	}
}

Scanner를 사용해서 애초에 int형으로 숫자를 받았더라면 더 쉬웠을 듯

그래도 나는 결국 해냈다

으하하하하핳

728x90