반응형
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
- 가운데 글자 가져오기 java
- 프로그래머스 가운데 글자 가져오기 자바
- 핸즈온 머신러닝
- 빅데이터분석기사
- 프로그래머스 가운데 글자 가져오기 python
- 가운데 글자 가져오기 python
- m1 docker install
- 최소 스패닝 트리
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- docker 삭제
- 나누어 떨어지는 숫자 배열 java
- codeup 1020 자바
- docker 완전 삭제
- 청년 Ai Big Data 아카데미
- 트리의 지름 java
- 빅분기실기
- docker remove
- 트리의 지름 자바
- 코드업 1020 자바
- 청년 AI Big Data 아카데미 13기
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 나누어 떨어지는 숫자 배열 python
- 최단 경로 알고리즘
- 코드업 1020 java
- 가운데 글자 가져오기 자바
- 최소 스패닝 트리 자바
- codeup 1020 java
- m1 docker
- 프로그래머스 가운데 글자 가져오기 파이썬
- 가운데 글자 가져오기 파이썬
Archives
- Today
- Total
NineTwo meet you
[백준/자바] 5052 전화번호 목록 본문
반응형
문제
전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오.
전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다.
예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자
- 긴급전화: 911
- 상근: 97 625 999
- 선영: 91 12 54 26
이 경우에 선영이에게 전화를 걸 수 있는 방법이 없다.
전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 걸리기 때문이다.
따라서, 이 목록은 일관성이 없는 목록이다.
입력
첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50)
각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000)
다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 하나씩 주어진다.
전화번호의 길이는 길어야 10자리이며, 목록에 있는 두 전화번호가 같은 경우는 없다.
출력
각 테스트 케이스에 대해서, 일관성 있는 목록인 경우에는 YES, 아닌 경우에는 NO를 출력한다.
예제 입력 1
2
3
911
97625999
91125426
5
113
12340
123440
12345
98346
예제 출력 1
NO
YES
설명
트리를 이용한 문제다.
전화번호 목록이 아래와 같은 경우를 생각해보자
- 긴급전화: 911
- 상근: 97625999
- 선영: 91125426
root를 기준으로 한 글자씩 넣어준다.
root - 9 - 1 - 1 - 2 - 5 - 4 - 2 - 6
|_ 7 - 6 - 2 - 5 - 9 - 9 - 9
이때 자리의 끝 글자는 true로 표기한다.
root - 9 - 1 - 1 (true) - 2 - 5 - 4 - 2 - 6 (true)
|_ 7 - 6 - 2 - 5 - 9 - 9 - 9 (true)
그러면 이때 선영의 글자를 살펴보면 끝 글자가 아닌 중간 글자도 true인것을 볼 수 있다.
이런 글자처럼 끝만 true가 아닌 중간에 true가 있는 글자의 경우 다른 번호의 접두어를 포함한 번호인 것을 알 수 있다.
코드
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준/자바] 11725 트리의 부모 찾기 (0) | 2021.02.09 |
---|---|
[백준/자바] 1991 트리 순회 (1) | 2021.02.09 |
[백준/자바] 10986 나머지 합 (0) | 2021.01.27 |
[백준/자바] 11659 구간 합 구하기 4 (0) | 2021.01.27 |
[백준/자바] 12871 무한 문자열 (0) | 2021.01.27 |
Comments