[ 프로그래머스 ] 전화번호 목록 C++ 해시
2020. 1. 4. 17:21ㆍ알고리즘/프로그래머스
728x90
반응형
문제 설명
문제 풀이
#include <string>
#include <vector>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
for(int i=0; i<phone_book.size(); i++)
for(int j=0; j<phone_book.size(); j++)
if(i != j && phone_book[i].find(phone_book[j])==0){
answer = false;
return answer;
}
return answer;
}
특정 문자열이 다른 원소에 포함되어 있으면 false를 리턴하면 됩니다.
대신 접두어 이어야 하므로 맨 처음 부분에 포함되어 있어야 합니다.
phone_book[i].find(phone_book[j]) 은 phone_book[j] 문자열을 phone_book[i] 문자열에서 찾고,
phone_book[j] 문자열이 있을 경우 해당 문자열이 처음 시작되는 인덱스를 리턴합니다.
접두어는 맨 처음부터 시작하므로 0을 리턴해야 합니다. 0을 리턴하면 최종적으로 false를 리턴하도록 합니다.
출처 : https://programmers.co.kr/learn/courses/30/lessons/42577
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 ] 상호평가 JAVA (0) | 2021.09.09 |
---|---|
[ 프로그래머스 ] 부족한 금액 계산하기 JAVA (0) | 2021.09.09 |
[ 프로그래머스 ] 완주하지 못한 선수 C++ 해시 (0) | 2019.12.30 |
[ 프로그래머스 ] SQL DATETIME에서 DATE로 형 변환 String, Date (0) | 2019.11.11 |
[ 프로그래머스 ] SQL 오랜 기간 보호한 동물(2) String, Date (2) | 2019.11.11 |