https://programmers.co.kr/learn/courses/30/lessons/64065
📌풀이 과정
맨앞 '{{'와 맨뒤 '}}'를 잘라준다. 그리고 '},{'을 기준으로 split하면 괄호문자가 모두 사라진다.
s는 현재 ','를 포함한 문자열 원소들이다. 👉[ '1', '1,2', '1,2,3' ]
반복문에 들어오는 원소마다 ','을 기준으로 split해준다. 👉[ '1, 2' ]가 들어온다면 [ '1', '2' ]로 만든다.
answer 배열에 차례대로 append해준다.
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
📌다른 풀이
정규표현식을 이용한 풀이다.
findall메소드는 정규식과 매치되는 모든 문자열을 리스트로 돌려준다.
re.findall("\d+", j) 👉 숫자에 해당한다면 리스트로 돌려줌
import re
def solution(s):
answer = []
a = s.split(',{')
a.sort(key = len)
for j in a:
numbers = re.findall("\d+", j)
for k in numbers:
if int(k) not in answer:
answer.append(int(k))
return answer
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
[알고리즘] 프로그래머스 뉴스 클러스터링 / python (0) | 2020.05.05 |
---|---|
[알고리즘] 프로그래머스 징검다리 건너기 / python (0) | 2020.05.04 |
[알고리즘] 프로그래머스 크레인 인형뽑기 게임 / python (0) | 2020.04.25 |
[알고리즘] 프로그래머스 파일명 정렬 / python (0) | 2020.03.25 |
[알고리즘] 프로그래머스 n진수게임 / python (0) | 2020.03.25 |