내일배움캠프/TIL

JS 문법 종합 2주차 240814

leswing 2024. 8. 14. 21:08

오늘은 2주차 숙제를 진행하는데

 

- 문제 설명

 

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다

 

- 제한 조건

  • strings는 길이 1 이상, 50이하인 배열입니다.
  • strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
  • strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
  • 모든 strings의 원소의 길이는 n보다 큽니다.
  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

처음 문제를 보고 대충 어떻게 나오게 만들라는건지 이해는 했는데 고민하다가

 

음 이거 도저히 모르겠네 하고 

 

강의 자료를 뒤적거리다 문제 풀이 팁이 있는걸 확인해서 봤다

음~ 봐도 애매한데? 싶어서

 

특히 문자열 앞에 인덱스에 해당하는 문자를 붙이는 방법에 대한 방식이 이해가 안되서

 

해답을 잠깐 보니까 

 

string[i][n] 으로 표기하고 있길래

 

어 저게 되나 싶어서 구글링을 해보니까

 

문자열의 특정 문자를 출력하는 방법은

 

charAt() 메소드와 string[] 과 같은 방식이 있는데

 

강의에서 내가 배운적이 있나? 싶어서 강의 자료를 되짚어 보이는데 안보였다.

 

그러다 갑자기 생각난게 코딩할 때 모르는게 있으면 구글링을 하면 대부분 해결된다는 말씀..

 

이후 문제를 풀이 팁에 따라 차례대로 구현해보니

for (i = 0; i < strings.length; i++) {
        strings[i] = strings[i][n] + strings[i]        
    };

일단 배열 내부의 문자열에 해당 인덱스의 문자를 앞에 추가하고

strings.sort();

    for (i = 0; i < strings.length; i++) {
        strings[i] = strings[i].substr(1)
    };

정렬 한 뒤 2번째 문자(코드 상에서는 1)부터 출력하게 만드니까 문제가 해결되었다.

 

 

'내일배움캠프 > TIL' 카테고리의 다른 글

JS 종합 문법 4주차 240819  (0) 2024.08.19
JS 문법 종합 3주차 240816  (0) 2024.08.16
JS 문법 종합 1주차 240813  (0) 2024.08.13
[TIL] 2024/08/09  (0) 2024.08.09
[TIL] 2024/08/08  (0) 2024.08.08