[프로그래머스] Lv2 - 튜플
https://programmers.co.kr/learn/courses/30/lessons/64065
function solution(s) {
var answer = [];
s = s.replace(/{/g,'[')
s = s.replace(/}/g,']')
const arr = JSON.parse(s)
arr.sort((a,b)=> a.length-b.length)
let visited = {}
for(let tuple of arr){
for(let num of tuple){
if(visited[num]) continue
visited[num] = true
answer.push(num)
}
}
return answer;
}
처음에는 문제를 이해를 잘 못했는데 쉽게 말해서 배열에 값이 하나씩 추가되는데 이 추가 되는 값을 찾아서 추가되는 순서를 출력하면 된다고 생각하면 된다.
s의 값이 중괄호를 사용하여 있어서 나는 배열로 사용하기 위해서 대괄호로 변환한다음 string을 JSON으로 바꿔주는 함수를 사용해서 실제 배열로 변환하였다.
그리고 배열이 증가되는 순서를 파악하기위해서 배열을 그안에 속한 배열의 길이로 오름차순 정렬했다.
그리고 visited를 이용해서 이미 있는 값은 넘기고 새롭게 추가된 값을 찾아서 answer에 추가하도록 하였다.
시간복잡도는 O(N^2)이다
Author And Source
이 문제에 관하여([프로그래머스] Lv2 - 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jary/프로그래머스-Lv2-튜플저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)