반응형
programmers.co.kr/learn/courses/30/lessons/64065
코딩테스트 연습 - 튜플
"{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1]
programmers.co.kr
문자열 처리 구현 문제였습니다.
풀이방법
1. 문자열을 정제한 뒤 만든 배열을 길이 오름차순으로 정렬합니다.
2. Map에 저장되어 있지 않은 값이 있다면 answer에 넣어줍니다.
3. answer를 반환합니다.
Code
function solution(s) {
let answer = [];
let M = new Map();
s = s.substr(1, s.length - 2);
let refined = [];
refined = s
.split("},{")
.map((v) => v.replace(/\{|\}/g, ""))
.map((v) => v.split(",").map((v) => +v))
.sort((a, b) => a.length - b.length);
for (let i = 0; i < refined.length; i++) {
for (let j = 0; j < refined[i].length; j++) {
if (M.has(refined[i][j]) === false) {
M.set(refined[i][j], 1);
answer.push(parseInt(refined[i][j]));
break;
}
}
}
return answer;
}
'Algorithm > String' 카테고리의 다른 글
(C++) - 백준(BOJ) 1969번 : DNA (0) | 2021.06.01 |
---|---|
(C++) - 백준(BOJ) 12904번 : A와 B (0) | 2021.05.27 |
(Javascript) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT[3차]) : n진수 게임 (0) | 2021.05.04 |
(C++) - 프로그래머스(Summer/Winter Coding(~2018)) : 영어 끝말잇기 (0) | 2021.04.03 |
(C++) - 백준(BOJ) 1213번 : 팰린드롬 만들기 답 (0) | 2021.03.22 |