일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- minimum spanning tree
- 최소스패닝트리
- 소프트웨어공학
- 함밥
- 프로그래머스
- 알고리즘
- DP
- Planned
- SQL
- 백준
- 백트래킹
- 파이썬
- 동적계획법
- programmers
- Bellman-Ford
- DFS
- 장고
- 코드트리
- MyPlaylist
- 마라마라빔
- 모각코
- codetree
- 그리디알고리즘
- 실습
- django
- BFS
- B대면노래방
- 데이터베이스
- 종합설계
- Kruskal
Archives
- Today
- Total
Leta Learns
[Python] 백준 5052번 - 전화번호 목록 본문
문제 https://www.acmicpc.net/problem/5052
5052번: 전화번호 목록
첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가
www.acmicpc.net

ㅋㅋㅋㅋ아무 생각 없이 for문 사용해서 풀었더니 4중 for문이 나왔다 껄껄..
당연히 시간초과 났고 ㅋㅋ 일이 있어서 나가야 했기 때문에 고치지 않고 놔두었다가 오늘 다시 풀었다.
다른 사람들 풀이를 보니 boolean 연산자를 사용하길래 나도 참고하여 풀었다.
startswith 메소드 파이썬 처음 공부할 때 보고 실제로 쓰는 건 처음인데 이런 문제에 꽤나 유용한 것 같다.
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n = int(input()) #전화번호 수
tele = [input().strip() for _ in range(n)]
tele.sort()
cons = True #consistency
for i in range(1,n):
if tele[i].startswith(tele[i-1]):
cons = False
break
if cons:
print("YES")
else:
print("NO")

'Coding > 백준' 카테고리의 다른 글
[Python] 백준 1931번 - 회의실 배정 (0) | 2022.02.22 |
---|---|
[Python] 백준 1764번 - 듣보잡 (0) | 2022.02.21 |
[Python] 백준 3649번 - 로봇 프로젝트 (0) | 2022.02.18 |
[Python] 백준 1205번 - 등수 구하기 (0) | 2022.02.18 |
[Python] 백준 1946번 - 신입 사원 (0) | 2022.02.16 |