본문 바로가기

C++/코드트리

[코드트리] 가장 많이 나온 쌍

https://www.codetree.ai/missions/5/problems/the-most-frequent-pair?utm_source=clipboard&utm_medium=text 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

(a, b)와 (b, a)를 같은 쌍으로 취급하기에 대소 비교해서 작은값을 0번 인덱스에 넣어주도록 하였다.

그 후 해당 숫자 쌍을 m개의 입력값과 모두 비교하여 answer의 최댓값을 구해주었다.

#include <iostream>
#include <algorithm>
using namespace std;
int n, m, map[100][2];
int main() {
    cin >> n >> m;
    for(int i=0; i<m; i++){
        int temp1, temp2;
        cin >> temp1 >> temp2;
        if(temp1 > temp2)
            swap(temp1, temp2);
        map[i][0] = temp1;
        map[i][1] = temp2;
    }

    int answer = 0;
    for(int i=1; i<=n; i++){
        for(int j=i+1; j<=n; j++){
            int sum = 0;
            for(int k=0; k<m; k++){
                if(map[k][0] == i && map[k][1] == j)
                    sum++;
            }

            answer = max(answer, sum);
        }
    }
    cout << answer;
    return 0;
}