[C++][백준 23348] 스트릿 코딩 파이터

PublicMinsu·2025년 9월 14일

문제

https://www.acmicpc.net/problem/23348

접근 방법

동아리 총 점수 중 가장 높은 점수를 찾는 문제입니다.
동아리 점수는 개인 점수가 모여서 만들어지고
개인 점수는 세 가지 기술 점수가 모여서 만들어지고
기술 점수는 난이도와 횟수의 곱입니다.

즉 가장 높은 동아리 점수를 얻기 위해선 개별 동아리 점수, 개인 점수, 기술 점수를 구해야 되는 것입니다.

코드

#include <iostream>
using namespace std;

int A, B, C, N, highestScore;

int main()
{
    ios::sync_with_stdio(0), cin.tie(0);
    cin >> A >> B >> C >> N;

    for (int i = 0; i < N; ++i)
    {
        int score = 0;

        for (int j = 0; j < 3; ++j)
        {
            int a, b, c;
            cin >> a >> b >> c;

            score += a * A + b * B + c * C;
        }

        highestScore = max(score, highestScore);
    }

    cout << highestScore;
    return 0;
}

풀이

동아리의 개수만큼 반복문을 돌며 각 동아리의 점수를 구해준 뒤 가장 높은 동아리 점수를 갱신하면 됩니다.

profile
연락 : publicminsu@naver.com

0개의 댓글