오늘 목표
TIL 작성
TIL 리뷰
정렬 알고리즘 읽어보기
javascript 문법종합반 3주차
오늘 한 것
TIL 작성
TIL 리뷰
정렬 알고리즘 읽어보기
2주차 숙제 2번 어느정도 해결
javascript 문법종합반 3주차
1. 마지막 값 비교
문제
if (array[i] < array[i + 1])
array의 마지막 값을 비교할 수 없다.
i+1이 array.length 를 넘어가기 때문이다.
시도
for (i = 0; i < strings.length; i++) {
for (j = 0; j < strings.length - 1-i; j++) {
strings.length -1 이전까지만 돌린다.
i+1은 비교하지 않는다.
참고 자료 : 정렬 알고리즘 - 버블정렬 https://im-developer.tistory.com/133
해결
for (k = 0; k < strings.length; k++) {
for (i = 0; i < strings.length - 1-k; i++) {
for (j = 0; j < strings.length; j++) {
arrayN[j] = strings[j].substr(n)
// strings의 각 문자열을 인덱스 n부터 자른 것을 arrayN에 담는다.
}
if (arrayN[i] > arrayN[i + 1]) { //앞 단어가 더 클 때
let spin =[]
spin = strings[i]
strings[i] = strings[i + 1]
strings[i + 1] = spin //뒷 단어를 앞으로 당긴다
}}
}
알게된 것
for 문을 두 번 돌리고 i값을 j for문에서 빼서 i+1이 비교되지 않게 하기.
2. 버블 정렬
알게된 점
임시 변수를 설정하여 넣고 싶은 값을 담고
변수 안의 값들을 이동시킨다.
참고 자료 : 정렬 알고리즘 - 버블정렬 https://im-developer.tistory.com/133
let spin =[]
spin = strings[i]
strings[i] = strings[i + 1]
strings[i + 1] = spi
3. 문자열에서 비교하려는 부분이 같아서 다음 문자를 비교해야 한다면
aabc
aacd
인 경우 aa부분은 같으므로
부분을 나누지 않고
aabc와 aacd를 전체 비교한다.
4. charCodeAt
string.charCodeAt(index)
index에 해당하는 문자의 unicode 값을 리턴
정리
마지막 값 비교 : for 문을 두 번 돌리고 i값을 j for문에서 빼서 i+1이 비교되지 않게 하기.
버블 정렬: 임시 변수를 설정하여 넣고 싶은 값을 담고, 변수 안의 값들을 이동시킨다.
aa 가 같은 경우 aabc와 aacd를 전체 비교한다.
string.charCodeAt(index) index에 해당하는 문자의 unicode 값을 리턴
소감
프로그래머스 제출하기에서는 fail 이 나오지만 입출력 예시를 pass 할 수 있는 코드를 작성할 수 있어서 의미깊었다.
뭐든 시간을 투자하면 되는 것 같다. 그 시간을 견뎌내는 게 힘들어서 포기하면 해결할 수 없다.
'verdantjuly > Today I Learned' 카테고리의 다른 글
TIL 20230527 (0) | 2023.05.27 |
---|---|
TIL 20230526 (0) | 2023.05.26 |
TIL 20230524 (0) | 2023.05.24 |
TIL 특강 정리 (0) | 2023.05.23 |
TIL 20230523 (0) | 2023.05.23 |