Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JavaScript
- data
- useEffect
- jQuery
- url
- TMDB
- bootstrap
- IntersectionObserver
- github
- supabase
- Github Pages
- db
- til
- http
- 배포
- HTML
- W
- Fetch
- CSS
- firestoredatabase
- nosql
- Cloud
- API
- web
- this
- Database
- Protocol
- SQL
- Boostrap
- REACT
Archives
- Today
- Total
072DATA
n번째 글자를 기준으로 오름차순 정렬하기 - JavaScript 본문
문제 설명J하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
구현 순서
- 문자열 가장 앞 글자를 붙인 배열 만들기
- 해당 배열을 사전순으로 정렬하기
- 앞 글자 제거한 후 return하기
문자열 가장 앞 글자를 붙인 배열 만들기
for ( var i=0; i<strings.length; i++) {
strings[i] = strings[i][n] + strings[i]
} // ex) car -> a + car -> acar
반복문을 통해 n번째 문자 + 전체 문자를 합쳐서
strings[i] 번쨰에 값을 재할당 해준다
왜냐하면 맨 앞 글자에 넣어준 뒤 사전순으로 정렬하기 위함이다
해당 배열을 사전 순으로 정렬하기
strings.sort(); // a~z 순서
sort 메서드를 사용하여 strings의 배열의 값들을 사전 순으로 정렬해준다.
앞 글자를 제거 후 return하기
for(var j=0; j<strings.length; j++){
strings[j] = strings[j].replace(strings[j][0], "");
answer.push(strings[j]);
}
다시 반복문을 통해서 각 배열의 문자열마다
가장 앞 부분에 붙여놨던 글자를 replace 메소드를 사용하여
제거한 뒤 push 메소드를 사용하여 answer 배열에 붙여준다
replace 같은 경우에는 두가지 인자가 들어가는데
첫 번째는 바꿀 요소를 선택하고, 두 번째는 어떻게 바꿀 것인지 정해야 함
전체 코드
let strings = ["qwe", "asd", "vas"];
let n = 0;
function sortStrings (strings, n) {
var answer = [];
for ( var i=0; i<strings.length; i++) {
strings[i] = strings[i][n] + strings[i]
} // ex) car -> a + car -> acar
strings.sort(); // a~z 순서
for(var j=0; j<strings.length; j++){
strings[j] = strings[j].replace(strings[j][0], "");
answer.push(strings[j]);
}
console.log(answer);
return answer;
}
sortStrings(strings, n);
아쉬운 점
코딩테스트 문제를 오랜만에 푸니까 문자열의 문자를 가져올 때
chatAt 밖에 생각이 나질 않아서 한동안 뇌가 굳은채로 문제를 풀었다
결국 해설 보면서 아.. 이렇게 할 수 있었지 하고 되뇌이는 시간을 가졌다
'Anything > 끄적끄적' 카테고리의 다른 글
콜백 함수에 대한 정리 (0) | 2024.08.09 |
---|---|
async와 await 짧은 요약 (0) | 2024.08.02 |
일급 객체로서의 함수 (0) | 2024.08.01 |
자바스크립트에서 this란 (0) | 2024.07.31 |
데이터 타입 및 undefined와 null - JavaScript (0) | 2024.07.29 |