(프로그래머) 전화번호 목록(C++)

전화번호 목록 / Lv.2


문제 설명)

전화번호부에 한 번호가 다른 번호의 접두사인 전화 번호가 나열되는지 확인하려고 합니다.
전화번호가 다음과 같을 경우 구조 전화번호는 영석의 전화번호 앞자리입니다.

  • 구조대: 119
  • 박준영: 97 674 223
  • 지영석: 11 9552 4421

전화번호부의 전화번호를 포함하는 phone_book 배열이 solver 함수 매개변수로 주어지면 주어진 번호가 다른 번호의 접두어이면 false를 반환하고 그렇지 않으면 true를 반환하도록 solver 함수를 작성합니다.

제한)

  • phone_book의 길이는 1 이상이어야 하며 1,000,000을 초과할 수 없습니다.
    • 각 전화번호는 1에서 20 사이여야 합니다.
    • 동일한 전화번호는 두 번 포함되지 않습니다.

I/O 예)


I/O 예시 설명)

I/O 예제 #1
이전 예제와 동일합니다.

I/O 예제 #2
숫자는 절대 다른 숫자의 접두사가 아니므로 대답은 참입니다.

I/O 예제 #3
첫 번째 전화번호 ’12’는 두 번째 전화번호 ‘123’의 지역번호입니다. 답이 잘못되었습니다.

설명)

하나
2
4
5
6
7
8일
9
10
11
12
13
14
15
16
17
18
#포함하다 <>
#포함하다 <벡터>
#포함하다 <연산>
사용 네임스페이스 기본;
부울 해결책(벡터<> 전화 번호부) {
정렬(전화번호부.시작하다(), 전화 번호부.()); // 전화번호를 알파벳 순으로 정렬
~을 위한 (내부= 0; 나 < 전화 번호부.크기() 하나; 나++) { // i번째 숫자와 i+1번째 숫자를 비교합니다.
만약에 (전화번호부(예: + 하나).find(phone_book(i)) == 0) { // i+1번째 숫자가 i번째 숫자의 접두사인 경우
돌려 주다 잘못된; // 거짓 반환
}
}
돌려 주다 진실; // 모든 숫자에 접두어가 없으면 true를 반환합니다.
}
CS

원천 : https://school.programmers.co.kr/learn/courses/30/lessons/42577

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr