인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

qkrwndnjs06064794's profile image
qkrwndnjs06064794

asked

Coding Test Practice Test (with C++): For Large Companies

1회 1번 공통 문자열 문제 설명 보충하시면 더 좋을 것 같습니다!

Written on

·

206

0

1회 1번 공통 문자열 문제에서  N개의 모든 문자열에서 같은 부분 문자열을 가지고 있다는 설명이 없어서  아래와 같이 unordered_map으로 어렵게 풀이하였습니다. 출제 의도에 맞게 N개의 모든 문자열에서 같은 부분 문자열이 있다고 적혀있으면 더 좋을 것 같아요!

#include <iostream>

#include <string>

#include <unordered_map>

using namespace std;

 

int main() {

ios_base::sync_with_stdio(false);

cin.tie(NULL);

freopen("input.txt", "rt", stdin);

unordered_map<string, int> uM;

string str, answer;

int t, max = 0;

cin >> t;

while (t--) {

cin >> str;

string temp;

for (int i = 0; i < str.size(); i++) {

temp += str[i];

uM[temp]++;

}

}

for (auto iter = uM.begin(); iter != uM.end(); iter++) {

if (max < iter->second) max = iter->second;

}

for (auto iter = uM.begin(); iter != uM.end(); iter++) {

if (iter->second == max && (answer.size() < (iter->first).size())) answer = iter->first;

}

cout << answer;

return 0;

}

C++코테 준비 같이 해요!

Answer 1

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

최대 공통접두사라는 말에 다 포함되지 않나요?

모든 문자열의 최대 길이 공통접두사를 구하는 문제로 이해가 될 것 같은데요. 이 말을 더 자세하게 해달라는 건가요?

안녕하세요!

네네 저는 input이 ["aaaaaa", "aaa", "bbbbbb", "bb"]처럼 들어올 수도 있다고 생각했어요!

주어지는 N개의 문자열에는 적어도 같은 부분문자열이 1개 이상 있다는 조건이 있으면 더 정확하다고 생각했습니다.

codingcamp님의 프로필 이미지
codingcamp
Instructor

네^^ 알겠습니다. 

빠른 답변 감사합니다. 이전 강의부터 잘 듣고 있습니다. 좋은 밤 되세요!

qkrwndnjs06064794's profile image
qkrwndnjs06064794

asked

Ask a question