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
- 반복줄이기
- 제네릭
- Chart.js
- click and drag
- returnType
- React.js
- JS console
- 타입좁히기
- 타입스크립트
- TSDoc
- 개발콘텐츠
- 2022
- react
- 폰트적용하기
- 공통컴포넌트
- reactjs
- 커스텀
- 성능최적화
- const 단언문
- 티스토리꾸미기
- React Native
- utilty type
- 레이아웃쪼개기
- vue.js
- NonNullable
- javascript
- typescript
- CSS
- 누구나 자료구조와 알고리즘
- 리액트
Archives
- Today
- Total
몽땅뚝딱 개발자
[프로그래머스 | Javascript] Lv.2 뒤에 있는 큰 수 찾기 본문
문제설명
정수로 이루어진 배열 numbers
가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다.
정수 배열 numbers
가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다.
제한사항
- 4 ≤
numbers
의 길이 ≤ 1,000,000- 1 ≤
numbers[i]
≤ 1,000,000
- 1 ≤
입출력 예
numbers | result |
---|---|
[2, 3, 3, 5] | [3, 5, 5, -1] |
[9, 1, 5, 3, 6, 2] | [-1, 5, 6, 6, -1, -1] |
입출력 예 설명
입출력 예 #1
2의 뒷 큰수는 3입니다. 첫 번째 3의 뒷 큰수는 5입니다. 두 번째 3 또한 마찬가지입니다. 5는 뒷 큰수가 없으므로 -1입니다. 위 수들을 차례대로 배열에 담으면 [3, 5, 5, -1]이 됩니다.
입출력 예 #2
9는 뒷 큰수가 없으므로 -1입니다. 1의 뒷 큰수는 5이며, 5와 3의 뒷 큰수는 6입니다. 6과 2는 뒷 큰수가 없으므로 -1입니다. 위 수들을 차례대로 배열에 담으면 [-1, 5, 6, 6, -1, -1]이 됩니다.
🗝 내가 푼 코드
- 1트: 10부터 시간 초과🤦🏻♀️
function solution(numbers) {
const 배열의길이 = numbers.length
return numbers.map((obj, idx) => search(obj, numbers.slice(idx+1, 배열의길이)))
}
function search(비교대상, 비교할배열) {
for (let i=0; i<비교할배열.length; i++) {
if (비교대상 < 비교할배열[i]) return 비교할배열[i]
}
return -1
}
- 2트: 14부터 시간초과🤦🏻♀️
function solution(numbers) {
const copyArr = [...numbers]
return numbers.map((obj) => 뒤에있는큰수찾기(obj, copyArr))
function 뒤에있는큰수찾기(비교대상, 비교할배열) {
if (비교할배열.length === 1) return -1
비교할배열.shift()
for (let i=0; i<비교할배열.length; i++) {
if (비교대상 < 비교할배열[i]) return 비교할배열[i]
}
return -1
}
}
'Development > 알고리즘' 카테고리의 다른 글
[프로그래머스 | Javascript] KAKAO INTERNSHIP. 두 큐 합 같게 만들기 (0) | 2024.01.12 |
---|---|
[프로그래머스 | Javascript] Lv.2 올바른 괄호 (0) | 2024.01.08 |
🔖 알고리즘 DFS, BFS (0) | 2023.12.28 |
[프로그래머스 | Javascript] Lv.1 같은 숫자는 싫어 (0) | 2023.12.28 |
[프로그래머스 | Javascript] Lv.1 로그인 성공? (0) | 2023.12.27 |
Comments