https://www.acmicpc.net/problem/25304
25304번: 영수증
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것
www.acmicpc.net
문제


해석
물건 여러 개를 입력받아 최종적인 값을 구한 후 처음 입력한 값과 일치하면 Yes 일치하지 않으면 No를 출력합니다.
총금액을 구하려면 물건 수만큼 반복시키는 반복문이 필요하고 물건 값을 비교하는 조건문을 사용해야 해 if문으로 출력해야 합니다.
물건의 종류가 매우 많다면, 반복문은 시간복잡도가 상수가 아니기 때문에 주어진 값을 바로바로 계산하고 그때마다 변수에 더하해야 하지만, 물건의 종류가 100개 이하이기 때문에 반복문을 사용해도 문제가 없음을 확인할 수 있습니다.
풀이
첫 줄에 주어지는 금액은 마지막 if문으로 처리하면 Yes, No를 출력하는 코드를 작성할 수 있습니다.
if (sum == X)
cout << "Yes";
else
cout << "No";
물건의 종류는 반복 횟수를 알려주기 때문에 이를 이용해 다음과 같이 반복문을 쓸 수 있고 sum 변수를 통해 총금액 합을 구합니다.
int sum=0;
for (int i = 0; i < N; i++) {
cin >> a >> b;
sum += a * b;
}
sum을 0으로 초기화하지 않는 다면 쓰레기 값이 같이 더해집니다.
최종적인 코드는 다음과 같습니다.
#include<iostream>
using namespace std;
int main() {
int X, N, a, b, sum=0;
cin >> X >> N;
for (int i = 0; i < N; i++) {
cin >> a >> b;
sum += a * b;
}
if (sum == X)
cout << "Yes";
else
cout << "No";
}
정리
이 문제는 앞에서 푼 반복문 문제의 논리를 사용한 문제입니다.
1. 횟수를 입력받고 반복시키는 코드
https://whitecode2718.tistory.com/66
[백준] 10950번 : A+B - 3 (3단계) (C++)
https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 테스트 케이스를 만드는 방법을 연습하는 문제입니다.
whitecode2718.tistory.com
2. 합 알고리즘
https://whitecode2718.tistory.com/67
[백준] 8393번 : 합 (3단계) (C++)
https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 반복문을 학습하면 가장 먼저 접하는 1부터 n까지의 합을 구하는
whitecode2718.tistory.com
'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글
[백준] 11022번 : A+B - 8 (3단계) (C++) (0) | 2024.01.10 |
---|---|
[백준] 11021번 : A+B - 7 (3단계) (C++) (0) | 2024.01.10 |
[백준] 8393번 : 합 (3단계) (C++) (0) | 2024.01.09 |
[백준] 10950번 : A+B - 3 (3단계) (C++) (1) | 2024.01.09 |
[백준] 2739번 : 구구단 (3단계) (C++) (1) | 2024.01.09 |
https://www.acmicpc.net/problem/25304
25304번: 영수증
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것
www.acmicpc.net
문제


해석
물건 여러 개를 입력받아 최종적인 값을 구한 후 처음 입력한 값과 일치하면 Yes 일치하지 않으면 No를 출력합니다.
총금액을 구하려면 물건 수만큼 반복시키는 반복문이 필요하고 물건 값을 비교하는 조건문을 사용해야 해 if문으로 출력해야 합니다.
물건의 종류가 매우 많다면, 반복문은 시간복잡도가 상수가 아니기 때문에 주어진 값을 바로바로 계산하고 그때마다 변수에 더하해야 하지만, 물건의 종류가 100개 이하이기 때문에 반복문을 사용해도 문제가 없음을 확인할 수 있습니다.
풀이
첫 줄에 주어지는 금액은 마지막 if문으로 처리하면 Yes, No를 출력하는 코드를 작성할 수 있습니다.
if (sum == X)
cout << "Yes";
else
cout << "No";
물건의 종류는 반복 횟수를 알려주기 때문에 이를 이용해 다음과 같이 반복문을 쓸 수 있고 sum 변수를 통해 총금액 합을 구합니다.
int sum=0;
for (int i = 0; i < N; i++) {
cin >> a >> b;
sum += a * b;
}
sum을 0으로 초기화하지 않는 다면 쓰레기 값이 같이 더해집니다.
최종적인 코드는 다음과 같습니다.
#include<iostream>
using namespace std;
int main() {
int X, N, a, b, sum=0;
cin >> X >> N;
for (int i = 0; i < N; i++) {
cin >> a >> b;
sum += a * b;
}
if (sum == X)
cout << "Yes";
else
cout << "No";
}
정리
이 문제는 앞에서 푼 반복문 문제의 논리를 사용한 문제입니다.
1. 횟수를 입력받고 반복시키는 코드
https://whitecode2718.tistory.com/66
[백준] 10950번 : A+B - 3 (3단계) (C++)
https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 테스트 케이스를 만드는 방법을 연습하는 문제입니다.
whitecode2718.tistory.com
2. 합 알고리즘
https://whitecode2718.tistory.com/67
[백준] 8393번 : 합 (3단계) (C++)
https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 반복문을 학습하면 가장 먼저 접하는 1부터 n까지의 합을 구하는
whitecode2718.tistory.com
'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글
[백준] 11022번 : A+B - 8 (3단계) (C++) (0) | 2024.01.10 |
---|---|
[백준] 11021번 : A+B - 7 (3단계) (C++) (0) | 2024.01.10 |
[백준] 8393번 : 합 (3단계) (C++) (0) | 2024.01.09 |
[백준] 10950번 : A+B - 3 (3단계) (C++) (1) | 2024.01.09 |
[백준] 2739번 : 구구단 (3단계) (C++) (1) | 2024.01.09 |