728x90
문제
보통의 계산기는 한 번에 하나의 계산 결과만 나타낼 수 있다. 그래서 여러 개의 계산 결과가 필요한 경우에는 이전 계산 결과를 따로 기록해 둬야 하는 번거로움이 있었다.
플레이어는 이러한 점을 해결하기 위해서 합 계산기를 만들었다. 합 계산기는 여러 개의 계산식을 입력받은 뒤, 각각의 계산 결과를 모두 합해서 출력하는 기능을 가지고 있다. 합 계산기에 입력할 수 있는 계산식은 아래 조건을 만족해야 한다.
- 계산식은 <정수> <연산 기호> <정수> 형태이다.
- <연산 기호> 에는 더하기, 빼기, 곱하기, 나누기의 네 가지 사직 연산 기호가 들어갈 수 있다. 이때, 나눗셈 결과의 나머지는 버린다.
합 계산기에 입력할 T개의 계산식이 주어질 때, 합 계산기의 출력 결과를 구해보자.
입력
첫째 줄에 식의 개수 T가 주어진다.
다음 T개의 줄에는 계산식이 주어진다.
- 1≤T≤ 100
- 계산식은 <정수> <연산 기호> <정수> 형태로 주어진다.
- <정수> 에는 1 이상 1 000 이하의 정수가 주어진다.
- <연산 기호> 에는 +, - , *, / 중 하나의 문자가 주어진다. 각각 더하기, 빼기, 곱하기, 나누기 기호를 의미한다.
출력
합 계산기가 계산한 결과를 출력하시오
제출 코드
const readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input=[];
let answer=0;
function calculator(a,op,b){
if(op==="+"){
return a+b;
}else if (op==="-"){
return a-b;
}else if (op==="*"){
return a*b;
}else if(op==="/"){
return parseInt(a/b);
}else {
return;
}
}
rl.on('line', (line) => {
input.push(line);
});
rl.on('close', () => {
const t = Number(input[0]);
for(let i=1; i<t+1; i++){
let [A,operation,B]=input[i].split(' ');
answer+=calculator(Number(A),String(operation),Number(B));
}
console.log(answer);
})
배운점
- 나누기를 수행할 때 정수형을 나누므로 정수형 결과가 반환되어야 하기때문에 정수형으로 바꿔 출력해야함(parseInt 사용)을 알게 되었다.
- for문을 i=0부터 하게 될 경우 입력값의 input[0]부분을 수행하는 거라 i=1부터 t+1까지 반복해야 하는것을 주의해야한다.
느낀점
- 연산자를 함수로 따로 빼내어 연산을 하는 함수를 구현하는 방법을 알게되었다.
- 입력값이 문자열이기 때문에 A와B에는 꼭 Number()를 해주여야 하는 것을 깨달았다.
728x90
'코테 > 구름톤 챌린지' 카테고리의 다른 글
[ 구름톤 챌린지 ] 문자열 나누기 (0) | 2023.08.21 |
---|---|
[ 구름톤 챌린지 ] 이진수 정렬 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 완벽한 햄버거 만들기 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 프로젝트 매니징 (0) | 2023.08.20 |
[ 구름톤 챌린지 ] 운동 중독 플레이어 (0) | 2023.08.17 |