오늘의 실수 - 0509

한장민·2022년 5월 9일
0

오늘의실수

목록 보기
2/6
post-thumbnail

백준 1000번
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		int b = sc.nextInt();
		
		System.out.println(a+b);
		
		

	}

}

입력받으라는 말에 아무래도 아직은 Scanner가 더 익숙해서 Scanner로 문제를 해결했다. 그리고 다른 방법은 없나 검색하다 이미 배운 BufferedReader를 활용하는 방법을 보았다.

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) {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		try {
			String str = br.readLine();
			StringTokenizer st = new StringTokenizer(str, " ");
			
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			
			System.out.println(a+b);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		
		

	}

}
예외처리는 throws 로도 할 수 있다.

InputStream에 대해서는 이미 배웠지만 생각이 나지 않았고 사용하는 방법도 아직 낯설다. 아무래도 자주 사용해서 익숙해지는 과정을 가져야 할 것 같다.

위가 InputStream, 아래가 Scanner를 사용한 결과다.
Scanner는 수많은 정규식을 거쳐 입력받기 때문에 시간과 메모리를 더 소모한다.

https://st-lab.tistory.com/41
입력 뜯어보기
아직 제대로 다 이해하지 못했다 천천히 익혀먹어야지


번외
백준에서 자바로 코드를 짤 때는 클래스의 이름을 Main으로 해야한다. 하지 않으면 컴파일 에러가 난다...


오라클에서 다중조인을 하면서 GROUP BY를 사용할 때 서브쿼리문을 GROUP BY 에 넣으려고 했다.. 그러면서 계속 맞게짠거같은데 왜 안돌아가지 ㅠㅠ 하면서 조급해했음 FROM에 넣었으면 바로 됐을텐데... 바보다

profile
HAAN YJGB

0개의 댓글