SHUSTORY

[ 백준 ] 10950번 : A + B - 3 _ JAVA 본문

코딩테스트/JAVA

[ 백준 ] 10950번 : A + B - 3 _ JAVA

어서오시우 2023. 11. 28. 17:42
728x90
문제

 

내 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = sc.nextInt();
int[] intArray = new int[T];
for (int i = 0; i < T; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
intArray[i] = A+B;
}
for (int i = 0; i < intArray.length; i++) {
System.out.println(intArray[i]);
}
sc.close();
}
}
  • 원하는 출력값은 나오지만 런타임 에러가 발생하였다.
    • 아무래도 Scanner 때문에 그런 듯 하다. 그러게? 졸려서 그런거야? 왜 스캐너도 쓰고 버퍼드리더도 쓴거지?ㅋㅋ
      BufferedReader에 대해 공부한지 얼마 안 되어서 응용력이 떨어지나?
    • Scanner를 없애고 BuffredReader만 사용하니 런타임 에러가 발생하지 않고, 맞았다고 뜬다!

 

수정 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
int intArray[] = new int[T];
for (int i = 0; i < T; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
intArray[i] = A+B;
}
for (int i = 0; i < intArray.length; i++) {
System.out.println(intArray[i]);
}
}
}

 

배열 선언 및 사용 방법
  • 배열
    • 동일한 자료형 ( Data type )의 데이터를 연속된 공간에 저장하기 위한 자료구조
  • 배열 선언
    • 타입[ ] 변수이름;
    • 타입 변수이름[ ];
  • 배열 선언과 동시에 배열 크기 할당 또한 가능하다.
    • int [ ] arr = new int [5];
  • 배열 선언과 동시에 배열의 크기 지정 및 값 초기화도 가능하다.
    • int [ ] arr = { 1,2,3,4,5 }
    • int [ ] arr = new int [ ] { 1,2,3,4,5 }
    • String[ ] weeks = { "월", "화", "수", "목", "금" }
  • 참고로 기본타입의 배열인 경우 초기값을 가지고 있는 반면(int = 0), 참조타입의 배열을 선언했을 경우 배열 내 요소의 초기값이 null이다.