강의로 돌아가기
김진원

효율성 문제 무엇일까요? ㅠㅠ

include

include

include

using namespace std;

string solution(vectora, vector b) {
for(int i = 0; i < b.size(); i++){
for(int j = 0; j < a.size(); j ++){
if(b[i] == a[j]){
a.erase(a.begin()+j);
b.erase(b.begin()+i);
i -= 1;
break;
}
}
}
return a[0];
}

  • 김진원
    include가 크게 나오내요;; include는 string,vector,iostream 입니다.. 김진원 2018.10.03 21:16
  • 김태홍
    저도 비슷하게 코드를 작성했는데, 어떻게 해결하신건가요? 김태홍 2018.10.23 22:34
  • Leni
    -답변은 아니지만... markdown 문법 때문에 앞에 #이 붙은 include가 크게 나오는 것입니다 :) 코드화 하기 쉽도록 전체코드 앞 뒤로 ``` (키보드 상단 숫자 1번 왼쪽에 있는 키 3번)을 붙여주세요. ``` (개행)코드(개행) ``` Leni 2019.01.03 16:01
1 개의 답변
김용우

이미 답을 찾으셨을 수도 있지만.. 혹시 비슷한 고민을 하시는 분들이 계실 수도 있을 것 같아 말씀드립니다. 올려주신 코드는 O(|a||b|)의 효율을 가지고 있는 로직입니다. 하지만, 이 문제의 경우 이 정도 효율이면 효율성 문제를 통과하지 못하도록 TC를 구성한 것 같습니다.

답이 될 수 있겠지만, 해당 문제는 주어진 vector를 그대로 활용하는 것이 아닌, map이나 set같이 빠르게 선수 이름을 찾아낼 수 있는 방법이 더 좋은 것 같습니다. 문제가 해시로 분류되어 있는 점도 vector로 순차적으로 검색하여 답을 찾는 것은 아닌 것 같습니다. ;)

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.