티스토리 뷰
320x100
2021년 1월 18일에 Velog에 작성한 글을 옮겨온 글입니다.
프로그래머스 - 튜플
풀이
function solution(s) {
// const tuples = s.slice(2, -2).split('},{').map(cur => cur.split(','));
const tuples = JSON.parse(s.replace(/{|}/g, (match) => (match === '{' ? '[' : ']')));
const set = new Set();
tuples.sort((a, b) => a.length - b.length);
tuples.forEach(t => t.forEach(num => set.add(+num)));
return [...set];
}
- 주어진 문자열을 배열로 파싱하여
- 배열의 크기 순으로 정렬한 후
- 중복을 제거한 tuple로 반환합니다.
1번의 배열로 파싱하는 부분을 처음에는 slice, splite 함수를 조합하여 사용했는데 다른 분의 풀이를 보고 JSON.parse 함수와 정규표현식의 조합으로 변경했습니다.
그동안 JSON을 object 형태로만 사용했었는데, 이번에 배열도 유효하다는 것을 알게되어 글로 남겨봅니다.
참고자료
JSON - 객체, 배열, 숫자, 문자열, 불리언과 null을 직렬화하기 위한 구문
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON
320x100
'개발 > Algorithm' 카테고리의 다른 글
프로그래머스 | 124 나라의 숫자(JavaScript) (0) | 2021.06.16 |
---|---|
프로그래머스 | 파일명 정렬(JavaScript) (0) | 2021.06.14 |
프로그래머스 | k번째 수(JavaScript) (0) | 2021.06.11 |
프로그래머스 | 스킬트리(JavaScript) (0) | 2021.06.09 |
구름 | 사은품 교환하기(JavaScript) (0) | 2021.06.04 |
댓글
최근에 올라온 글
TAG
- node rm -rf
- node cp -r
- rimraf
- createAction
- JavaScript
- external editor
- errno 253
- ECONNRESET
- file opener preference
- fs-extra
- 웹팩 에러
- javascript event
- 프로그래머스
- 인가
- node fs
- jest
- 스터디
- 스토리북 에러
- node mkdir -p
- 인증
- node file package
- Webpack Error
- 페이지 특정 위치 link
- mkdirp
- Storybook Error
- 자바스크립트
- ModuleParseError: Module parse failed: Unexpected token
- sass
- make-dir
- ELIFECYCLE