문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
이 문제에 핵심은
1. X의 값과 구매한 물건의 비용 × 개수가 같으면 Yes, 다르면 No를 출력합니다.
반복문을 통해 입력되는 물건의 가격과 비용을 모두 합한 뒤 X의 값과 비교하였습니다.
- BufferedReader를 사용하여 입력값을 저장합니다.
- StringTokenizer를 이용하여 입력된 값을 띄어쓰기 기준 나누었습니다.
- for문을 입력된 물건의 가격과 개수를 곱한 뒤 합하였습니다.
- X값과 합한 값이 같으면 Yes, 다르면 No를 BufferedWriter 저장하였습니다.
- BufferedWriter 저장된 결과를 출력하였습니다.
import java.io.*;
import java.util.StringTokenizer;
public class Main {
static int N,X;
public static void main(String[] args) throws IOException {
//입력값을 처리하는 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//결과값을 출력하는 BufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
X = Integer.parseInt(br.readLine());
N = Integer.parseInt(br.readLine());
int sum = 0;
//물건 가격과 개수를 곱한 뒤 합하기
for(int i=0;i<N;i++){
st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sum += a * b;
}
//합한 값과 X가 같은지 확인
if(sum == X) //같으면 Yes
bw.write("Yes");
else //다르면 No
bw.write("No");
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] code.plus(브루트 포스 Part 1,JAVA)16924번, 십자가 찾기 (0) | 2022.08.19 |
---|---|
[백준] code.plus(브루트 포스 Part 1,JAVA)16922번, 로마 숫자 만들기 (0) | 2022.08.18 |
[백준] code.plus(브루트 포스 Part 1,JAVA)16917번, 양념 반 후라이드 반 (0) | 2022.08.17 |
[백준] code.plus(시뮬레이션과 구현,JAVA)19237번, 어른 상어 (0) | 2022.08.16 |
[백준] 단계별로 풀어보기(단계:1,입출력과 사칙연산,JAVA) 3003번, 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.08.16 |
댓글