작성일 :

문제 링크

8815번 - Test

설명

문제의 목표는 숫자가 주어질 때, 주어진 조건에 맞는 Hektor 의 답을 출력하는 것입니다.

문제의 설명에 나와있듯, Hektor 의 답은 ABCBCDCDADAB... 로 주기를 이룹니다.

따라서, 12 로 나눈 나머지를 활용하여 답을 출력할 수 있습니다.


Code

[ C# ]

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

      var pattern = new char[] {'A', 'B', 'C', 'B', 'C', 'D',
                                'C', 'D', 'A', 'D', 'A', 'B'};

      var z = int.Parse(Console.ReadLine()!);
      for (int i = 0; i < z; i++) {
        var n = int.Parse(Console.ReadLine()!);
        Console.WriteLine(pattern[(n - 1) % 12]);
      }

    }
  }
}



[ C++ ]

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

using namespace std;

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

  char pattern[] = {'A', 'B', 'C', 'B', 'C', 'D',
                    'C', 'D', 'A', 'D', 'A', 'B'};

  int z; cin >> z;
  for (int i = 0; i < z; i++) {
    int n; cin >> n;
    cout << pattern[(n - 1) % 12] << "\n";
  }

  return 0;
}