인프런 커뮤니티 질문&답변

kkh185924님의 프로필 이미지
kkh185924

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-K와 문제의 단순화

3-K 시간초과 질문입니다.

해결된 질문

작성

·

178

0

http://boj.kr/5308ff055fe74404b72f7784fa4cd8c4강사님 코드랑 거의 흡사한데왜 시간초과가 나는지 모르겠습니다.제가 봤을 땐 불필요한 로직이 없어보이는데 이유가 궁금합니다..항상 좋은 강의 감사드립니다.

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 kkh님 ㅎㅎ

잘 짜셨네요. ㅎㅎ

 

다만,

이런 부분들을 고치셔야 할 것 같습니다.

 

swap을 쓰는게 더 빠릅니다.

void Qclear(queue<pair<int,int>> &q){
    queue<pair<int,int>> empty;
    swap(q,empty); 
}

그리고... 메인으로 고치셔야 할 부분들인데요.

 

1.swanQ clear의 비효율성

swan_move를 통하면 어차피 

swanQ의 사이즈는 0이 됨. 

굳이. 

Qclear(swanQ);를 할 필요는 없음. 

 

  1. temp clear의 부재

tempQ에 대한 부분을 clear하는 부분이 필요한데 해당부분이 없음.

 

이부분들을 고쳐보시겠어요?

 



 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

kkh185924님의 프로필 이미지
kkh185924

작성한 질문수

질문하기