[programmers] 튜플 (2019 카카오 개발자 겨울 인턴십)
resilient
·2021. 8. 23. 17:05
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/64065
- 이 문제는 튜플 관련된 문제인 줄 알았지만 문자열을 잘 다루는지를 묻는 문제였다.
- 파이썬에서 문자열에 관련된 문제는 split을 먼저 떠올리는 게 좋다. split을 사용하면 분리해서 리스트에 담아준다.
- 처음 주어지는 s 라는 문자열을 앞뒤 {{ , }} 부분은 신경 쓰지 않아도 되기 때문에 s [2:-2]로 제거를 해준다.
- 그리고 숫자 형태의 문자열이 들어가 있는 부분은 },{ 을 기준으로 구분하면 된다.
- 그리고 길이가 짧은 문자열부터 문자열 길이를 기준으로 오름차순 정렬을 해준다.
- 그럼 남아있는 쪼갠 문자열들을 for 문으로 하나씩 탐색하면서 , 로 구분해줘서 , 로 연결되어있는 숫자 형태의 문자열을 분리해준다.ㅁ\
분리해준 숫자형태의 문자열을 for문을 돌려주면서 숫자 형태의 문자열이 answer라는 리스트에 있는지 없는지 확인해주고 없으면 추가해준다.
def solution(s):
answer = []
s = s[2:-2]
s = s.split('},{')
print(s)
s.sort(key=len)
print(s)
for i in s:
data = i.split(',')
print('data:',data)
for j in data:
if int(j) not in answer:
answer.append(int(j))
return answer
반응형
'자료구조 & 알고리즘 > 프로그래머스(programmers)' 카테고리의 다른 글
[programmers] 뉴스클러스터링(2018 카카오 블라인드 채용) (0) | 2021.08.30 |
---|---|
[programmers] 크레인인형뽑기게임 (2019 카카오 개발자 겨울 인턴십) (0) | 2021.08.24 |
[programmers] 위클리챌린지2주차/상호평가 (0) | 2021.08.20 |
[programmers] 전화번호목록 (0) | 2021.08.16 |
[programmers] 가장 긴 팰린드롬 (0) | 2021.07.30 |