Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- UE4
- D2Coding
- chromebook
- vscode
- SimpleConfig
- codeserver
- 숫자야구
- 프로그래머스
- LoadingPhase
- Extensions
- 개발자의 글쓰기
- 단체사진찍기
- 영어 끝말잇기
- unreal config
- crostini
- unrealengine
- 전화번호 목록
- 데비안한글
- 숫자 야구
- 완주하지 못한 선수
- 리눅스한글
- ELoadingPhase
- 개발자
- fcitx
- code-server
- 주석쓰기
- 큰수 만들기
- 에러 메시지 쓰기
- 크롬북
- 알고리즘
Archives
- Today
- Total
Space Panda
[프로그래머스] 전화번호 목록 본문
문제 설명
전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.
전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.
-
구조대 : 119
-
박준영 : 97 674 223
-
지영석 : 11 9552 4421
전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.
제한 사항
-
phone_book의 길이는 1 이상 1,000,000 이하입니다.
-
각 전화번호의 길이는 1 이상 20 이하입니다.
입출력 예제
phone_book |
return |
[119, 97674223, 1195524421] |
false |
[123,456,789] |
true |
[12,123,1235,567,88] |
false |
입출력 예 설명
입출력 예 #1
앞에서 설명한 예와 같습니다.
입출력 예 #2
한 번호가 다른 번호의 접두사인 경우가 없으므로, 답은 true입니다.
입출력 예 #3
첫 번째 전화번호, “12”가 두 번째 전화번호 “123”의 접두사입니다. 따라서 답은 false입니다.
풀이
맨 처음 전화번호부터 하나씩 비교해나가야 한다
최악의 케이스에서도 비교는 꼭 한번만 하도록 코드를 구성해야한다
#include <string>
#include <vector>
#include <math.h>
using namespace std;
bool solution(vector<string> phone_book)
{
auto itBegin = phone_book.begin();
while (phone_book.end() != itBegin)
{
for (auto it = itBegin + 1; it != phone_book.end(); ++it)
{
string phoneNumberA = *itBegin;
string phoneNumberB = *it;
int length = min(phoneNumberA.size(), phoneNumberB.size());
if (phoneNumberA.substr(0, length) == phoneNumberB.substr(0, length))
{
return false;
}
}
++itBegin;
}
return true;
}
프로그래머스 전화번호 목록 URL : https://programmers.co.kr/learn/courses/30/lessons/42577
'알고리즘' 카테고리의 다른 글
[프로그래머스] 베스트앨범 (0) | 2020.05.21 |
---|---|
[프로그래머스] 탑 (0) | 2020.05.20 |
[프로그래머스] 위장 (0) | 2020.05.20 |
[프로그래머스] 영어 끝말잇기 (0) | 2020.05.20 |
[프로그래머스] 완주하지 못한 선수 (0) | 2020.05.20 |
Comments