백준 웹사이트 "25304번 - 영수증" 문제풀이입니다.
언어는 C언어입니다. (제출 언어: C99)
문제
소스 코드
#include <stdio.h>
int main(void){
int X, N;
scanf("%d\n %d", &X, &N);
int sum = 0;
for(int i=0; i<N; i++){
int a, b;
scanf("%d %d", &a, &b);
sum += a*b;
}
if(X == sum){
printf("Yes");
}
else{
printf("No");
}
return 0;
}
문제 풀이
여러 입력들을 받아 일종의 "영수증 계산기"를 만드는 문제입니다. 입력 첫째 줄, 둘째 줄은 각각 총 금액 X와 물건 종류의 수 N을 입력받습니다. 이때 X, N을 각각 다른 줄에 입력받기 때문에, 줄바꿈 문자열 \n
을 사이에 넣어줍니다.
Line 7에서 등장하는 변수 sum은 앞으로 입력받을 물건들의 가격을 저장해두기 위한 변수입니다. Line 8의 for문에서 물건의 가격과 수를 입력받으면, 이 둘의 곱만큼을 sum에 더합니다. 반복문이 진행될 때마다 반복문 안에서 선언한 변수 a, b는 초기화되지만, for문 밖에서 선언한 sum은 초기화되지 않기에 총 합을 계속 저장해둘 수 있습니다. 총 반복 횟수는 앞서 입력받은 '물건 종류의 수 N'이므로, 위와 같이 초기식/조건식/증감식을 설정해주면 되겠습니다.
마지막으로 Line 14에서는 총 금액 X와 총 합 sum을 비교합니다. 이 둘이 일치하면 "Yes"가, 일치하지 않는다면 "No"가 출력되도록 조건문(if/else)을 이용합니다.
반응형
'코딩 > 백준 BOJ' 카테고리의 다른 글
[백준/C언어] 5597번 - 과제 안 내신 분..? (0) | 2022.12.28 |
---|---|
[백준/C언어] 10807번 - 개수 세기 (0) | 2022.12.28 |
[백준/C언어] 25083번 - 새싹 (0) | 2022.12.16 |
[백준/C언어] 3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.12.15 |
[백준/C언어] 12865번 - 평범한 배낭 (4) | 2022.03.17 |