View

반응형

문제

풀이

ph에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하여 답을 출력하는 문제이다.

find 함수를 이용하여 간단하게 해결했다. find 함수는 매개변수가 존재하면 0을 존재하지 않으면 -1을 리턴한다.

check에 반환되는 값이 0일때 cnt를 1증가시키고 cnt의 값이 1 이상일 경우 접두어가 존재한다고 판단하게 된다.

코드

#include <string>
#include <vector>
#include <iostream>

using namespace std;

bool solution(vector<string> ph) {
    bool answer = true;
    int n = ph.size();
    for(int i=0;i<n;i++){
        int cnt=0;
        int check;
        string target = ph[i];
        for(int j=0;j<n;j++){
            check = ph[j].find(target);
            if(check == 0){
                ++cnt;
            }
        }
        if(cnt > 1){
            answer = false;
            break;
        }else{
            answer = true;
        }
    }
    return answer;
}
반응형

'알고리즘 > C++' 카테고리의 다른 글

[백준] 16236번 아기상어 - C++  (0) 2020.07.26
[백준] 7576번 토마토 - C++  (0) 2020.07.26
[프로그래머스] 피보나치 수 - C++  (0) 2020.07.26
[프로그래머스] H-Index - C++  (0) 2020.07.26
Share Link

인기 글

최신 글

전체 방문자

Today
Yesterday