[Java] 백준 1000번. A+B (브론즈5)
안녕하세요!
드디어 SSAFY 1년 과정이 거의 마무리 되었고, 시간이 꽤 생길것 같기 때문에!
본격적으로 블로그에 포스팅을 작성하게 되었습니다.
제가 알고리즘 문제풀이 (Problem Solving)에 주로 사용하는 언어는 JAVA이지만
C++. Python 등으로도 종종 풀이가 올라갈 것 같습니다.
https://www.acmicpc.net/problem/1000
1000번: A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
아주 간단한 문제입니다.
백준에서 가장 많은 제출이 이루어진 문제기도 하고, 브론즈~실버 등급 대표 문제들의 정답률이 50%는 가뿐히 넘기는걸 생각하면 생각보다 정답률이 낮은 문제기도 합니다.
1000번 문제를 틀리는 이유는 여러개가 있습니다.
1. 진짜 프로그래밍 언어에 대해 하나도 모른다.
2. 테스트케이스의 존재를 모르고 3을 출력하는 프로그램을 작성한다.
3. 자신이 작성한 언어가 아닌 다른 언어로 제출한다.
4. Main 함수, 또는 클래스의 이름을 잘못 설정한다.
5. 코드를 붙여넣는 과정에서 package, import등을 누락한다.
아무튼..
문제는 아주 간단합니다. 두개의 숫자를 입력받고, 덧셈연산의 결과값을 출력하면 됩니다.
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);
}
}
이렇게요.
java 라이브러리 util 패키지의 Scanner 클래스를 import해주고
시스템의 입력인 System.in을 parameter로 새로운 Scanner 객체를 생성해주면 됩니다.
Scanner의 이름은 어떻게 정하셔도 상관없지만, 가독성과 다른 사람에게 코드를 공유할 때를 대비해 많이 사용하는 이름으로 선언해주시는게 좋습니다.
보통 기능적인 요소에서 따온 input, in 을 쓰기도 하고 Scanner 객체는 한 번 선언하고 계속 재사용하기 때문에 간단하게 scan, sc로 선언하기도 합니다.
Scanner 클래스 안에는 여러가지 메소드가 들어있는데요.
간단한 문제이므로 입력으로 들어오는 다음 숫자를 반환하는 nextInt()를 통해 A와 B값을 받고
JAVA의 기본적인 출력함수인 System.out.println()을 통해 A+B를 출력했습니다.
조금 더 효율적인 입출력을 하고싶다! 하시는 분은
https://nodingco.tistory.com/7
[JAVA] PS에 유용하게 쓰이는 JAVA의 입출력 방법들
nodingco.tistory.com
이 글을 참고해주시면 감사하겠습니다!