99클럽 코테 스터디 16일차 TIL +241112

Yellta·1일 전
0

TIL

목록 보기
89/89

비슷한 단어 (어려웠따...)

#include <iostream>  
#include <vector>  
#include <string>  
#include <algorithm>  
  
using namespace std;  
  
// Helper function to calculate the length of the common prefix  
int commonPrefixLength(const string& s1, const string& s2) {  
    int length = 0;  
    while (length < s1.size() && length < s2.size() && s1[length] == s2[length]) {  
        length++;  
    }  
    return length;  
}  
  
int main() {  
    int N;  
    cin >> N;  
    vector<pair<string, int>> indexedStrings(N);  
    vector<string> originalStrings(N);  
      
    for (int i = 0; i < N; ++i) {  
        cin >> originalStrings[i];  
        indexedStrings[i] = {originalStrings[i], i};  
    }  
      
    sort(indexedStrings.begin(), indexedStrings.end());  
  
    int maxLength = 0;  
    pair<int, int> bestPair = {0, 1};   
      
    for (int j = 1; j < N; ++j) {  
        string& s1 = indexedStrings[j - 1].first;  
        string& s2 = indexedStrings[j].first;  
        int index1 = indexedStrings[j - 1].second;  
        int index2 = indexedStrings[j].second;  
          
        int prefixLen = commonPrefixLength(s1, s2);  
          
        if (prefixLen > maxLength || (prefixLen == maxLength && min(index1, index2) < min(bestPair.first, bestPair.second))) {  
            maxLength = prefixLen;  
            bestPair = {index1, index2};  
        }  
    }  
      
    int i1 = bestPair.first;  
    int i2 = bestPair.second;  
    if (i1 > i2) swap(i1, i2);   
  
    cout << originalStrings[i1] << endl;  
    cout << originalStrings[i2] << endl;  
  
    return 0;  
}

REVIEW

요즘에 드는 생각이 나는 사실 지금 챌린저 문제를 풀고있지만 실버, 브론즈부터 다시 시작해야할 것 같다는 생각이 들고있다. ㅠ 많은 연습이 필요한데 그러지는 못한 느낌이 든다.


#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL

profile
Yellta가 BE개발해요! 왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜 가 제일 중요하죠
post-custom-banner

0개의 댓글