'PermCheck'에 해당되는 글 1건

  1. 2020.03.08 [ Lesson 04_4 ] PermCheck
1일 1코딜리티2020. 3. 8. 00:02
728x90

Code

#include <iostream>
#include <vector>
#include <algorithm>

int solution(vector<int> &A) {
    // write your code in C++14 (g++ 6.2.0)
    sort(A.begin(), A.end());
    int compare = 1;
    
    for(int i=0;i<A.size();i++){
        if(A[i] != compare){
            return 0;
        }
        compare ++;
    }
    return 1;
}

 

Result

 

<해결아이디어>

우선 벡터를 정렬한다.

int compare = 1;으로 초기화 한 후 compare를 하나씩 증가시키면서

A[i]값과 일치하는지 확인한다.

즉, 벡터A가 1,2,3,4.. 순인지 확인한다.

 

compare는 1부터 하나씩 증가시키는데 compare != A[i]일 경우 A[i]가 차례대로 증가하지 않았다는 뜻이므로

return 0;을 한다.

하지만 for문을 다 돌았다는 것은 중간에 return되지 않았다는 뜻이므로 permutation임을 뜻한다. 따라서 return 1;을 해준다.

 

<기억하자>

return;

cout<<"hi";

 

return해당 함수를 종료한다.

따라서 다음 문장인 hi를 출력하는 코드는 실행되지 않는다.

반응형

'1일 1코딜리티' 카테고리의 다른 글

[ Lesson 04_3 ] MissingInteger  (0) 2020.03.07
[ Lesson 04_2 ] MaxCounters  (0) 2020.03.01
[ Lesson 04_1 ] FrogRiverOne  (0) 2020.03.01
[ lesson 03_3 ] TapeEquilibrium  (0) 2020.02.27
[ Lesson 03_2 ] PermMissingElem  (0) 2020.02.27
Posted by mminky