처음 시도
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
n = int(input())
word = []
length = []
equal = []
le = []
for i in range(n):
w=input()
if w not in word:
word.append(w)
length.append(len(w))
for _ in range(len(word)):
if len(length)==0:
exit(0)
m= length.index(min(length))
equal.append(word[m])
del word[m]
le.append(length[m])
del length[m]
if le[0] not in length:
for j in range(len(equal)):
temp = min(equal)
print(temp)
del equal[equal.index(temp)]
del le[0]
|
cs |
두 번째 시도
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
n = int(input())
word = []
j=0
for i in range(n):
word.append([])
w = input()
word[i].append(w)
word[i].append(len(w))
word = map(tuple,word)
word = set(word)
word = list(word)
word = sorted(word, key=lambda x: (x[1], x[0]))
for _ in word :
print(word[j][0])
j+=1
|
cs |
처음 시도에서는 이중 for문을 이용해서 접근했는데 시간 초과로 인해 다른 방법으로 접근해야 한다는 것을 알게 됨두 번째 시도에서는 선배의 조언을 듣고 람다로 접근해야 한다는 사실을 알게 됨. 이 문제만 가지고 3일에 걸쳐서 10시간 정도 시간을 쓴 것 같다
'백준' 카테고리의 다른 글
백준 2609번: 최대공약수와 최소공배수 (0) | 2021.05.07 |
---|---|
백준 11651번: 좌표 정렬하기 2 (0) | 2021.05.07 |
백준 2164번: 카드2 (0) | 2021.05.06 |
백준 1436번: 영화감독 숌 (0) | 2021.05.04 |
백준 10250번: ACM 호텔 (0) | 2021.05.03 |