작성일 :

문제 링크

15238번 - Pirates

설명

입력으로 주어진 해적이 사용하는 단어에서 가장 많이 반복되는 알파벳을 찾는 문제입니다.

주어진 단어에서 가장 많이 반복되는 알파벳을 찾고, 그 알파벳이 몇 회 반복되었는지를 출력합니다.


Code

[ C# ]

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

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

      var freq = new int[26];
      foreach (var c in word)
        freq[c - 'a']++;

      var maxFreq = freq.Max();
      var mostFreqLetter = (char)('a' + Array.IndexOf(freq, maxFreq));

      Console.WriteLine($"{mostFreqLetter} {maxFreq}");

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
  int n;
  string word;
  cin >> n >> word;

  vector<int> freq(26, 0);
  for (char c : word)
    freq[c - 'a']++;

  int maxFreq = *max_element(freq.begin(), freq.end());
  char mostFreqLetter = 'a' + distance(freq.begin(), find(freq.begin(), freq.end(), maxFreq));

  cout << mostFreqLetter << " " << maxFreq << endl;

  return 0;
}