| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- Code Refactoring
- Dynamic Programming
- 백준
- Greedy
- BFS
- 큐
- DP
- 그래프
- sort
- binary search
- DVWA
- 탐욕법
- 완전탐색
- Brute Force
- graph
- django
- 코딩테스트
- DFS
- 힙
- Queue
- 알고리즘
- 정렬
- Algorithm
- string
- 프로그래머스
- 문자열
- programmers
- heap
- 동적계획법
- 카카오 기출
Archives
- Today
- Total
생각과 고민이 담긴 코드
프로그래머스 - 튜플 (2019 카카오 개발자 겨울 인턴십) / Level 2 본문
문제
https://programmers.co.kr/learn/courses/30/lessons/64065
코딩테스트 연습 - 튜플
"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]
programmers.co.kr
풀이
def solution(s):
answer = []
s_list = []
nums=[]
temp_nums = ""
for i in s:
if i.isdigit():
temp_nums += i
elif i == ',':
if temp_nums:
nums.append(int(temp_nums))
temp_nums = ""
elif i == '}':
if temp_nums:
nums.append(int(temp_nums))
s_list.append(nums)
temp_nums = ""
nums = []
s_list.sort(key=lambda x : len(x))
for i in s_list:
for j in i:
if j not in answer:
answer.append(j)
return answer
어렵지 않은 문제였다. 입력으로 들어온 문자열을 하나의 튜플로 귀결시키기 위해선
튜플은 순서가 유효하기 때문에 집합의 길이가 작은 순대로 넣어줘야 했다.
그래서 일단 문자열을 이중 리스트로 변환시켜주고 각각의 배열의 길이를 기준으로 정렬을 수행한 후
순회하면서 튜플에 넣어줬다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 순위 검색 (2021 KAKAO Blind Recruitment) / Level 2 (2) | 2022.02.02 |
|---|---|
| 프로그래머스 - 크레인 인형뽑기 게임 (2019 카카오 개발자 겨울 인턴십) / Level 1 (0) | 2022.01.16 |
| 프로그래머스 - 수식 최대화 (2020 카카오 인턴십) / Level 2 (0) | 2022.01.13 |
| 프로그래머스 - 키패드 누르기 ( 2020 카카오 인턴십) / Level 1 (0) | 2022.01.03 |
| 프로그래머스 - 거리두기 확인하기 (2021 카카오 채용연계 인턴십) / Level 2 (0) | 2022.01.03 |