Mission. Java Script 기초 문법 복습하기
1) 목적
웹 페이지의 동적 기능을 효율적으로 구현할 수 있도록 객체지향 프로그래밍 언어의 기초를 다지기 위해서
2) 방법
- JS 문법 종합반 1주차, 2주차 복습하기
- 예제를 조금씩 바꾸어가며 실습하기
3) 봉착한 문제
- 코딩테스트를 어떻게 풀어야 하는지 감이 오지 않는다.
<문제> 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
<제한조건> 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
4) 시도
- 문제 풀이 영상 눈으로 보고난 후 안보고 따라해보기
- 다른 사람의 간결한 코드 보고 원래 코드와 다른 점 분석하고, 따라쓰기
5) 해결
- 문자열 가장앞 글자 붙인 문자 배열 만들기
- 사전순으로 정렬하기
- 앞글자 제거 후에 리턴하기
6) 알게된 점
- 특정 인덱스를 앞으로 빼기 위해서 for문을 사용한다.
- sort() 메서드는 배열을 오름차순으로 정렬한다.
- replace() 메서드는 특정 문자열을 다른 문자열로 변환할 수 있다.
7) 참고자료/ 결과물
function solution(strings, n) { let result = []; // 문자열 가장앞 글자 붙인 문자 배열 만들기 for (let i = 0; i < strings.length; i++) { strings[i] = strings[i][n] + strings[i]; } // 문자열 사전순 정렬 strings.sort(); // 앞글자 제거 후 리턴 for(let j = 0; j < strings.length; j ++) { strings[j] = strings[j].replace(strings[j][0],""); result.push(strings[j]); } return result; }