View
반응형
문제
- 프로그래머스 전화번호 목록
- https://programmers.co.kr/learn/courses/30/lessons/42577
풀이
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 |