본문 바로가기

Study/알고리즘 & 자료구조

[프로그래머스] 2019 카카오 겨울 개발 인턴십 - 튜플

어려운 문제는 아니였지만, 입력 데이터를 파싱하는 방법이 복잡해서 포스팅해본다!

[문제]

https://school.programmers.co.kr/learn/courses/30/lessons/64065

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[해결 방법]

def strToList(s):
    board = []
	# "{{111, 20},{111}}" 형태의 문자열 데이터에서 맨 앞과 맨 뒤에 있는 중괄호들을 지우고
	# "},{"를 기준으로 split하여 숫자들만 남김
	# "{{111,20},{111}}" -> ["111,20", "111"]
    s = s[2:-2].split("},{")

	# ,를 기준으로 split하고 내부 요소들을 정수로 바꿔서
	# 리스트에 추가함
    for i in s:
        board.append(list(map(int, i.split(','))))

    return board

def solution(s):
    answer = []
    board = strToList(s)
    board.sort(key = lambda x : len(x))

    for target in board:
        for t in target:
            if(t not in answer):
                answer.append(t)

    return answer

'Study > 알고리즘 & 자료구조' 카테고리의 다른 글

[백준] 11727 - 2xn 타일링 2  (0) 2024.08.13
[백준] 11726 - 2xn 타일링  (0) 2024.08.12
[백준] 1463 - 1로 만들기  (0) 2024.08.11
[백준] 2294 - 동전 2  (0) 2023.01.27
[백준] 9663 - N-Queen  (0) 2023.01.17