일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 네이버
- cs50
- Customer service 구현
- 장고
- 프로그래밍
- boostcourse
- Django
- 2021 Dev-matching 웹 백엔드 개발자
- 4기
- 구현
- 프로그래머스
- Naver boostcamp
- AI Tech
- 풀스택
- Naver boostcourse
- 서버
- 대회
- 부스트캠프
- 서블릿
- 백준
- 웹 프로그래밍
- 웹
- 백엔드
- sts
- 파이썬
- 레벨2
- AI Tech 4기
- P Stage
- BOJ
- QNA 봇
Archives
- Today
- Total
daniel7481의 개발일지
[프로그래머스] 튜플 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/64065
2019 카카오개발자 겨울 인턴쉽 문제이다. 프로그래머스를 풀면서 느끼는 점은 시간 제한 측면에서 굉장히 널널하다는 것이다. 백준을 풀때는 항상 시간 초과로 끙끙 앓았는데, 프로그래머스는 시간제한이 후한 편이라 간단하게 생각해도 풀리는 경우가 많다. 이 문제 같은 경우에는 간단한 문제였던 것 같다. 주요 관건은 입력 데이터 전처리였는데, 나같은 경우에는 먼저 앞 뒤에 있는 두 개의 괄호를 제거해준 후 남은 값들을 '},{'로 split해주었다. 이러면 a,b,c로 되어있는 str 값들이 반환되는데 이를 또 ','를 기준으로 split해주어서 전처리를 완료하였다. 다음에는 단순히 만약 answer 리스트에 존재하지 않는 값이 나오면 뒤에 있는 요소이기 때문에 따로 저장만 해두고 마지막에 append해주었다. 결과로는 무시무시한 처리 속도가 나왔지만 통과되었으니 일단 만족이다.
def solution(s):
answer = []
s = s[2:-2]
s = s.split('},{')
element = []
for a in s:
element.append(a.split(","))
element.sort(key=lambda x: len(x))
answer.append(element[0][0])
if len(element) >= 2:
for i in range(1, len(element)):
stack = ''
for j in range(len(element[i])):
if element[i][j] not in answer:
stack = element[i][j]
answer.append(stack)
answer = list(map(int, answer))
return answer
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]빛의 경로 사이클 (0) | 2022.07.20 |
---|---|
[프로그래머스]수식 최대화 (0) | 2022.07.20 |
[프로그래머스]짝지어 제거하기 (0) | 2022.07.19 |
[프로그래머스]괄호 변환(level2) (0) | 2022.07.19 |
[프로그래머스]기능 개발 (0) | 2022.07.18 |