-
[JS] 문자열 내 마음대로이노베이션 캠프/3주차_알고리즘 2023. 6. 19. 19:30
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12915
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
최종 풀이
function solution(strings, n) { let temp = {}; for (string of strings) { let char = string[n]; let t = (char in temp) ? temp[char] : []; t.push(string); t.sort(); temp[char] = t; } let result = []; let sortKeys = Object.keys(temp).sort(); for (key of sortKeys){ result = result.concat(temp[key]); } return result; }
해설
- 임시로 값을 저장해줄 객체 생성 (temp)
- for of문 사용하여 strings 배열의 각 요소에 접근하여 key 별로 value을 저장해줌
- key = 주어진 n 값에 해당하는 문자
- value = 주어진 문자 (배열로 관리)
- 결과 값을 담을 배열 생성 (result)
- 임시로 값을 관리하는 temp에 저장된 모든 키를 배열로 받아 sort() 메소드 사용하여 정렬
- 정렬된 키 값으로 temp 값에 접근한 후 concat사용하여 result에 값을 넣어줌
- 배열.concat(배열, ...): 두 개 이상의 배열을 결합하여 새로운 배열 생성
728x90'이노베이션 캠프 > 3주차_알고리즘' 카테고리의 다른 글
[JS] 숫자 문자열과 영단어 (0) 2023.06.19 [JS] 문자열 내림차순으로 배치하기 (0) 2023.06.19 [JS] 모의고사 (0) 2023.06.19 [JS] 로또의 최고 순위와 최저 순위 (0) 2023.06.17 [JS] 두 개 뽑아서 더하기 (0) 2023.06.17