알고리즘/BOJ

백준 1302번 베스트셀러

꾸준함. 2018. 9. 26. 14:23

문제 링크입니다: https://www.acmicpc.net/problem/1302


알파벳 오름차순으로 정렬을 한 뒤 탐색을 통해 빈도가 제일 높은 문자열을 찾아주면 되는 문제였습니다.


#include <iostream>

#include <vector>

#include <string>

#include <algorithm>

using namespace std;

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        int N;

        cin >> N;

 

        vector<string> v(N);

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

                 cin >> v[i];

 

        int maxNum = 0;

        int num = 0;

        string temp = v[0];

        string result;

        sort(v.begin(), v.end());

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

        {

                 if (v[i] == temp)

                         num++;

                 else

                 {

                         if (maxNum < num)

                         {

                                 maxNum = num;

                                 result = temp;

                         }

                         temp = v[i];

                         num = 1;

                 }

        }

 

        if (maxNum < num)

                 result = temp;

 

        cout << result << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 11923번 PUTOVANJE  (0) 2018.09.27
백준 11924번 PIANINO  (0) 2018.09.27
백준 1568번 새  (0) 2018.09.26
백준 2712번 미국 스타일  (0) 2018.09.26
백준 5901번 Relocation  (0) 2018.09.26