백준 10950
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스의 개수가 T개 주어진다.
for(int i = 0; i < T; i++){ // 각 줄에는 A와 B가 주어진다.
int a = sc.nextInt(); // A
int b = sc.nextInt(); // B
System.out.println(a + b);
}
}
}
이번 문제는 2739 문제와 크게 다르지 않은 문제입니다.
다만 입력에 무엇을 요구하는지 정확히 판단하는 것이 중요합니다.
A와 B 뿐 아니라 테스트 케이스의 개수인 T를 포함한 변수 3개를 만들어야 한다는 것을 놓치지 않아야 합니다.
추가적으로 보통 for문 초기화식은 두 가지 이유로 변수의 값을 0으로 지정합니다.
첫 번째는 배열의 인덱스가 0부터 시작하기 때문입니다.
두 번째는 직관적으로 판단하기 쉽기 때문입니다.
이해를 돕기 위해서 예를 들어보겠습니다.
우리는 'i' 10개를 표현하고 싶습니다.
그것을 표현하기 위한 방법으로 1) int i = 1; i <= 10 와 2) int i = 0; i < 10 두 가지가 있습니다.
1), 2) 식 모두 10입니다.
하지만 보통 조건식에서는 '<=' 연산자 대신에 '<' 연산자를 씁니다.
(한 글자라도 더 적게 쓰기 위함입니다.)
아무튼 만약 '<' 연산자를 사용하지 않고 10을 표현하기 위해서는 int i = 1; i < 11로 표현해야 합니다.
하지만 이 과정에는 '-1'을 하는 연산을 추가적으로 해야 합니다.
그래서 우리는 이 과정을 생략하고 직관적으로 판단하기 위해서 i = 0; i < 10을 사용합니다.
결국은 배열의 인덱스가 0부터 시작하기 때문에 이런 방식을 사용한다고 생각하셔도 무방합니다.
'백준 알고리즘 - JAVA8 > 3단계 for문' 카테고리의 다른 글
[백준 자바 2742, 11021, 11022 ] 기찍 N, A+B -7,8 (0) | 2021.01.03 |
---|---|
[백준 자바 2741] N 찍기 (0) | 2021.01.02 |
[백준 자바 15552] 빠른 A + B (0) | 2021.01.02 |
[백준 자바 8393] 합 (0) | 2020.12.31 |
[백준 자바 2739] 구구단 (0) | 2020.12.30 |
최근댓글