작성일 :

문제 링크

20877번 - Minigolf

설명

주어진 규칙에 따라, 미니골프 코스에서 플레이어의 점수를 계산하는 문제입니다.

각 코스는 Par 2 또는 Par 3 으로 지정되며, 플레이어의 각 코스에서의 Stroke 수를 기반으로 총 점수를 계산합니다.

플레이어가 한 코스에서 7 번 이상 Stroke 를 한 경우에도, 점수는 7 로 계산되어야 함에 주의합니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var n = int.Parse(Console.ReadLine()!);

      int totalScore = 0;
      var strokes = Console.ReadLine()!.Split(' ').Select(int.Parse).ToArray();
      for (int i = 1; i <= n; i++) {
        strokes[i - 1] = Math.Min(strokes[i - 1], 7);

        int par = (i % 2 == 1) ? 2 : 3;
        totalScore += strokes[i - 1] - par;
      }

      Console.WriteLine(totalScore);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int n; cin >> n;

  int totalScore = 0;
  for (int i = 1; i <= n; i++) {
    int strokes; cin >> strokes;
    strokes = min(strokes, 7);

    int par = (i % 2 == 1) ? 2 : 3;
    totalScore += strokes - par;
  }

  cout << totalScore << "\n";

  return 0;
}