이숭간 공부기록
[프로그래머스] 파이썬 _ 튜플 (2019 KAKAO INTERN) 본문
728x90
https://programmers.co.kr/learn/courses/30/lessons/64065
문제유형 : 튜플, 문자열, 구현
문제풀이 :
- 주어진 문자열을 먼저 다룰수있는 리스트로 만든다.
- 나는 이부분을 좀 복잡하게 해결했는데 엄청 간단히 하신분이 있었다.
-
s1 = s.lstrip('{').rstrip('}').split('},{') new_s = [] for i in s1: new_s.append(i.split(','))
- split('},{') 부분이 신박하군
- 위 리스트를 원소길이로 정렬한다
- 길이가 짧은순으로 정렬하고 차례로 정답에 추가하는데, 정답에 이미 있는 원소면 건너뛰는식으로 하면 된다.
정답코드 :
def solution(s):
answer = []
s = s[1:-1]
stack = []
one_int = ''
temp = []
for i in s: # {20,111},{111}
if i =='{':
continue
elif i == '}':
if one_int:
temp.append(int(one_int))
one_int = ''
stack.append(temp)
temp = []
continue
elif i == ',':
if not one_int:
continue
temp.append(int(one_int))
one_int = ''
continue
one_int += i
stack = sorted(stack, key=lambda x:len(x))
for i in stack:
for j in i:
if j not in answer:
answer.append(j)
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 파이썬 _ 더 맵게 (0) | 2021.07.01 |
---|---|
[프로그래머스] 파이썬 _ 입국심사 (0) | 2021.07.01 |
[프로그래머스] 파이썬 _ 짝지어 제거하기 (0) | 2021.06.29 |
[프로그래머스] 파이썬 _ 자물쇠와 열쇠 (2020 KAKAO BLIND) (0) | 2021.06.28 |
[프로그래머스] 파이썬 _ 문자열 압축 (2020 KAKAO BLIND) ⭕️ (0) | 2021.06.27 |