본문 바로가기

BAEKJOON/수학

백준 30031번 [지폐 세기](C++) -yes6686- 티스토리

728x90
SMALL

백준 문제 풀이: 30031 [지폐 세기]


문제 링크: https://www.acmicpc.net/problem/30031

문제 설명:

각 지폐의 종류와 그 개수가 주어질 때, 총 금액을 계산하여 출력하세요.

입력 조건:

  • 첫 번째 줄에 지폐의 종류와 개수를 나타내는 정수 N이 주어집니다. (1 ≤ N ≤ 100)
  • 다음 N개의 줄에는 지폐의 코드 a와 개수 b가 공백으로 구분되어 주어집니다.
  • 지폐 코드 a는 136(1000원), 142(5000원), 148(10000원), 154(50000원) 중 하나입니다.
  • 개수 b는 1 이상 100 이하의 정수입니다.

출력 조건:

  • 총 금액을 출력합니다.

문제 해결 코드


#include <iostream>
using namespace std;

int main() {
    int n, a, b;
    int sum =0;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a >> b;
        if (a == 136)
            sum += 1000;
        else if (a == 142)
            sum += 5000;
        else if (a == 148)
            sum += 10000;
        else if (a == 154)
            sum += 50000;
    }
    cout << sum << '\n';
}

코드 설명

위 코드는 지폐의 종류와 개수를 기반으로 총 금액을 계산합니다.

  • 입력 처리:
    • 지폐 코드 `a`와 개수 `b`를 입력받습니다.
  • 금액 계산:
    • 지폐 코드에 따라 해당 금액에 개수를 곱하여 총합에 더합니다.

시간 복잡도 분석:

  • 입력 크기 N에 따라 O(N).

결과

다음은 입력 예시와 출력 결과입니다:

입력:
4
136 5
142 2
148 3
154 1

출력:
85000

주어진 입력에 따라 총 금액 85,000원이 계산됩니다.

다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!

728x90
LIST