문제명 : 합 계산기
문제
여러개의 계산식을 입력받은 뒤, 각각의 계산 결과를 모두 합해서 출력하는 기능을 만들어라.
합 계산식에 입력할 수 있는 계산식은 아래 조건을 만족한다.
- 계산식은 정수, 연산기호, 정수 형태이다.
- 연산기호는 더하기, 빼기, 곱하기, 나누기 네 가지 사칙 연산 기호가 들어갈 수 있다.
- 이 때 나눗셈 결과의 나머지는 버린다.
입력
첫째 줄에 식의 갯수 T가 주어진다.
다음 T개의 줄에는 계산식이 주어진다.
제약조건
입출력
예시1
입력
3
1 + 3
4 / 3
3 - 2
출력
6
풀이
const readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on('line', (line) => {
input.push(line.trim());
if (input.length === +input[0] + 1) {
rl.close();
}
});
rl.on('close', () => {
let result = 0
for (let i = 1; i < input.length; i++) {
let [operand1, operator, operand2] = input[i].split(" ").map(n => {
if (isNaN(n)) return n
else return +n
})
let value = 0;
switch (operator) {
case '+':
value = operand1 + operand2
break
case '-':
value = operand1 - operand2
break
case '/':
value = Math.floor(operand1 / operand2)
break
case '*':
value = operand1 * operand2
break
}
result += value
}
console.log(result)
})
- 숫자 연산자 숫자 형태의 문자열이 T개 주어진다.
- 피연산자와 연산자를 나누어 각각 자료형에 맞게 파싱한 뒤, 결과값을 계속 더해주면 되는 문제이다.
- 주어진 문자열을 파싱하여 사칙연산을 하는 로직을 T번 반복할 수 있도록 한다.
- switch문으로 연산자를 구분하여 사칙연산을 한 후 result에 계속 더해준 뒤, 모든 루프가 끝나면 result를 출력한다.
'코테 문제 풀이' 카테고리의 다른 글
[Node.js] 구름톤 챌린지 2주 Day1 풀이 (0) | 2023.08.21 |
---|---|
[Node.js] 구름톤 챌린지 1주 Day5 풀이 (0) | 2023.08.18 |
[백준 12789] 도키도키 간식드리미 (Node.js) - 스택, 큐 (0) | 2023.08.15 |
[Node.js] 구름톤 챌린지 1주 Day2 풀이 (0) | 2023.08.15 |
[백준 1074] Z (Node.js) - 분할정복 (0) | 2023.05.30 |