문제 링크
접근 방법
이 문제에 핵심
1. T개의 계산식이 주어집니다. <정수> <연산자> <정수>
2. 모든 계산식 결과의 합을 결과로 출력합니다.
3. 연산 기호에는 +, -, ×, ÷가 있습니다.
알고리즘 진행 순서.
1. 입력된 정보를 저장합니다.
2. T개의 계산식을 게산하여 합을 구합니다.
3. 얻은 합을 결과로 출력합니다.
구현
T개의 계산식을 모두 계산합니다.
모든 계산식의 값을 더합니다.
예제입력 1.
1. 입력된 정보를 저장합니다.
N : 3
1 | + | 3 |
4 | / | 3 |
3 | - | 2 |
2. T개의 계산식을 게산하여 합을 구합니다.
1 | + | 3 | = 4 |
4 | / | 3 | = 1 |
3 | - | 2 | = 1 |
4 + 1 + 1 = 6
3. 얻은 합을 결과로 출력합니다.
6을 결과로 출력합니다.
- BufferedReader를 사용하여 입력되는 정보를 저장합니다.
- StringTokenizer를 이용하여 계산식의 값을 저장합니다.
- T개의 계산식을 계산한 값을 모두 더합니다.
- 모두 더한 값을 BufferedWriter에 저장합니다.
- BufferedWriter에 저장된 결과를 출력합니다.
결과코드
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
//입력값 처리하는 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//결과값 출력하는 BufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int T = Integer.parseInt(br.readLine());
int result = 0;
//계산식 저장 및 계산 진행
for(int i=0;i<T;i++){
st = new StringTokenizer(br.readLine()," ");
int left = Integer.parseInt(st.nextToken());
String operation = st.nextToken();
int right = Integer.parseInt(st.nextToken());
if(operation.equals("+")){ // +
result += left + right;
}else if(operation.equals("-")){ // -
result += left - right;
}else if(operation.equals("*")){ // ×
result += left * right;
}else{ //÷
result += left / right;
}
}
//계산된 값의 합을 BufferedWriter 저장
bw.write(String.valueOf(result));
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'구름톤' 카테고리의 다른 글
[구름톤 챌린지, Java] 6일차, 문자열 나누기(완전 탐색) (0) | 2023.08.21 |
---|---|
[구름톤 챌린지, Java] 5일차, 이진수 정렬(구현, 정렬) (0) | 2023.08.18 |
[구름톤 챌린지, Java] 4일차, 완벽한 햄버거 만들기(구현) (0) | 2023.08.17 |
[구름톤 챌린지, Java] 2일차, 프로젝트 매니징(구현) (0) | 2023.08.15 |
[구름톤 챌린지, Java] 1일차, 운동 중독 플레이어(구현) (0) | 2023.08.14 |
댓글