백준 알고리즘 10952번[A+B -5] JS

Chaeeun Lee·2022년 8월 13일
0

백준 알고리즘

목록 보기
3/7

문제


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

입력


입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

입력의 마지막에는 0 두 개가 들어온다.

출력


각 테스트 케이스마다 A+B를 출력한다.

예제 입력


1 1
2 3
3 4
9 8
5 2
0 0

예제 출력


2
5
7
17
7

풀이

이 문제를 풀 때는 2가지 중요한 포인트가 있다. 첫번째는 반복문을 몇 번 돌릴껀지, 두번째는 입력이 0 0일 경우 반복문을 어떻게 끝낼건지가 관건이다.

🍯 tip

  • input의 길이만큼 반복
  • break 사용
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

for(let i=0; i<input.length-1; i++){
    let a = parseInt(input[i].split(' ')[0]);
    let b = parseInt(input[i].split(' ')[1]);
    let answer = a+b
    
    if(answer === 0) break;
    else console.log(answer)
    
}

1️⃣ input.length

지금까지 알고리즘 문제를 풀면서 input에 어떤 값이 들어가는지 제대로 확인해보지 않았다. console.log를 통해 input이 어떻게 생겼는지 보자. 입력값은 예제의 입력값을 넣어줬다.

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

console.log(input)
// [
 	'1 1', '2 3',
  	'3 4', '9 8',
  	'5 2', '0 0',
  	''
// ]

console.log(input.length)
// 7

정확한 이유는 모르겠지 input의 맨 마지막 요소에 '' 값이 포함되어 있다. 그래서 i < input.length-1 만큼 반복문을 실행시켰다.

2️⃣ if break

break를 사용하면 반복문에서 탈출할 수 있다. i=4 일 때까지만 반복문이 실행되고 i=5 일 때 반복문이 종료된다.

for (let i=1; i<10; i++){
	if(i===5) break;
	console.log(i)
}
// 1
// 2
// 3
// 4

마지막 input 요소가 0 0 일 때, 반복문을 종료시켜준다.

// 생략

for(let i=0; i<input.length-1; i++){
    let a = parseInt(input[i].split(' ')[0]);
    let b = parseInt(input[i].split(' ')[1]);
    let answer = a+b
    
    if(answer === 0) break;
    else console.log(answer)
    
}
profile
나는야 뚝딱이 개발자야

0개의 댓글