그러니까 주어진 배열 arr는 배열 arr의 a1 번째부터 b1 번째까지의 숫자와 배열 arr의 a2 번째부터 b2 번째까지의 숫자로 구성되어 있다는 말이다.
1. interval a1의 숫자와 b1 등등 각각의 숫자를 꺼내준다.
2. arr[a1] 부터 arr[b1] 까지 숫자를 answer 배열에 push 해준다.
3. arr[a2] 부터 arr[b2] 까지 숫자를 answer 배열에 push 해준다.
4. answer 배열을 반환한다.
먼저.. a1의 값을 성공적으로 가지고 올 수 있는지 console.log 로 확인해보았다. 성공 ~
소괄호 없이 intervals[0][0] 으로 해도 된다.
배열 안에 있는 배열의 아이템을 작성할 때 일일히 꺼내려니까 가독성도 안좋고 너무 코드가 더러워지는 느낌이 들어서 위에 요소들을 미리 정의?해주었다.
그리고 push 를 통해서 answer 에 넣는 것 까지 성공했는데 slice 가 배열을 반환하기 때문에 배열 두개가 들어갔다.
대괄호를 떼서 넣는 방법이 없을까?
전개 구문을 사용하여 요소들만 들어가게 작성해주었다.
그런데 왜 두번째 a2 부터 b2+1 까지 넣는게 제대로 작동하지? 않았다.
위에꺼랑 똑같이 작성해주었는데 대체 왜지..!?
아하 ㅎ 위에 변수 설정을 할 때 순서를 헷갈려서 잘못줬다 ㅎㅎㅎㅎㅎ
배열 만들기 3 해결 ~~~
🎈 배열의 메서드 slice()
문자열의 일부를 추출하면서 새로운 문자열을 반환한다.
문자열.slice(beginIndex[, endIndex])
2개의 매개변수를 가지고, 두 번째 매개변수는 선택사항이다. 문자열의 추출된 부분을 담는 새로운 문자열이 반환된다.
- beginIndex : 추출 시작점인 0부터 시작하는 인덱스이다.
음수일 때 : strLength(문자열 길이) + beginIndex 로 취급된다. ( 예시 : beginIndex 가 -3이면 시작점은 strLength -3 )
strLength 보다 크거나 같을 때 : 빈 문자열 반환
- endIndex : 0부터 시작하는 추출 종료점 인덱스로 그 직전까지 추출된다. 인덱스 위치의 문자는 추출에 포함되지 않는다.
생략될 때 : 문자열 마지막까지 추출한다.
음수일 때 : strLength(문자열 길이) + endIndex 로 취급된다. (예시 : endIndex 가 -3이면 종료점은 strLength - 3)
'코딩테스트' 카테고리의 다른 글
코딩테스트 풀이 - 이어 붙인 수 | 문자열을 숫자로 형 변환하는 방법 (1) | 2023.11.08 |
---|---|
코딩테스트 풀이 - 뒤에서 5등까지 | sort() 로 오름차순, 내림차순, slice() (0) | 2023.11.06 |
코딩테스트 풀이 - 암호 해독 (0) | 2023.11.03 |
코딩테스트 풀이 - n의 배수 고르기 (0) | 2023.11.03 |
코딩테스트 풀이 - 대문자와 소문자 | 배열 -> 문자열 형 변환, toUpperCase(), toLowerCase() (0) | 2023.11.03 |