728x90
https://school.programmers.co.kr/learn/courses/30/lessons/64065
🐾 20221013
문제가 이해가 잘 안되었다.
이게 무슨 소리람?
근데 질문하기에서 한 답변을 보고 이해가 갔다.
[] 로 둘러쌓인 튜플은 순서가 달라지면 다른 튜플이지만 튜플로 만든 {}는 내부 순서가 달라져도 괜찮다!!
그러니까 [2,1]은 {1}을 만들 수 없다.
[4,1,3,2]은 한자리수 {}로 4밖에 못만든다. 앞에서부터 밖에 못묶는다.
근데 묶고 나서는 그 안에서 순서를 바꿀 수 있다.
1. s = s[2:-2]
s = s.split('},{')
가장 자리의 {{ 와 }}를 제거하고 },{를 기준으로 나누어 주었다.
2. s.sort(key = len)
길이가 짧은 순으로 정렬하였다.
그래야 [] 를 잘 찾을 수 있다. {} 내부에서는 순서를 바꿀 수 있지만 {}를 만들 때는 순서를 못바꾸기 때문에
글자수가 짧으면 앞에 수들만 있을 수 있기 때문이다.
앞에 수 먼저 돌면서 answer을 채우면 된다.
코드 :
def solution(s):
answer = []
s = s[2:-2]
s = s.split('},{')
s.sort(key = len)
for i in s :
ii = i.split(',')
for j in ii :
if int(j) not in answer :
answer.append(int(j))
return answer
복습하면서 만든 코드 :
def solution(s):
answer = []
s = s[2:-2].split('},{')
tmp = []
for i in range(len(s)) :
tmp.append(s[i].split(','))
tmp.sort(key = lambda x : len(x))
for t in tmp :
for i in t :
if int(i) not in answer :
answer.append(int(i))
return answer
참고 블로그 :
https://hazung.tistory.com/103
반응형
'알고리즘 > 프로그래머스문제풀이' 카테고리의 다른 글
[Python/프로그래머스]순위검색_(KaKao)_[구현,bisect(이분탐색)] (0) | 2022.09.27 |
---|---|
[Python/프로그래머스]뉴스 클러스터링_(KaKao)_Counter이용 (0) | 2022.09.26 |
[Python/프로그래머스]아이템 줍기_(BFS) (0) | 2022.09.22 |
[Python/프로그래머스]게임 맵 최단거리_(BFS) (0) | 2022.09.22 |
[Python/프로그래머스]배달_다익스트라 (0) | 2022.09.22 |