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
- indexOf
- Javascript
- Nextjs
- Reduce
- Array
- 자바스크립트
- npm
- CLI
- 노드
- 타입스크립트
- 개발
- 에러
- Programmers
- react
- TypeScript
- error
- 코딩테스트
- angular
- node
- 노드제이에스
- 코딩테스트연습
- Method
- 노드js
- 앵귤러
- codingtest
- slice
- nodejs
- 마음커넥션
- 프로그래머스
- 백엔드
Archives
- Today
- Total
Suzie's Blog
[프로그래머스] 가까운 1 찾기 (JavaScript) 본문
반응형
SMALL
문제 설명
정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.
단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.
제한사항
3 ≤ arr의 길이 ≤ 100'000
arr의 원소는 전부 1 또는 0입니다.
입출력 예
arr | idx | result |
[0, 0, 0, 1] | 1 | 3 |
[1, 0, 0, 1, 0, 0] | 4 | -1 |
[1, 1, 1, 1, 0] | 3 | 3 |
입출력 예 설명'
입출력 예 #1
1보다 크면서 원소가 1인 가장 작은 인덱스는 3입니다. 따라서 3을 return 합니다.
입출력 예 #2
4번 인덱스 이후에 1은 등장하지 않습니다. 따라서 -1을 return 합니다.
입출력 예 #3
3번 인덱스의 값이 1입니다. 따라서 3을 return 합니다.
나의 풀이
function solution(arr, idx) {
for(let i=idx; i<arr.length; i++){
if(arr[i] === 1) {
return i
}
}
return -1
}
idx를 기준으로 반복문을 돌리고 1을 찾으면 바로 인덱스를 리턴. 찾지못하면 -1를 리턴하는 방식으로 로직을 구성했다.
문제를 풀면 다른사람의 풀이를 볼 수 있는데
보자마자 shocking...!!!
const solution=(a,i)=>a.indexOf(1,i);
이거 보자마자 감탄밖에 나오지 않네에.... ㅋㅋㅋㅋㅋㅋ
indexOf를 사용해서 없는경우 -1로 return되는것 까지.. 너무 간단하게 풀어버린 이 분.. 넘나 멋있...👍
반응형
LIST
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 등차수열의 특정한 항만 더하기 (JavaScript) (0) | 2023.10.24 |
---|---|
[프로그래머스] 문자열 돌리기(JavaScript) (2) | 2023.10.19 |
[프로그래머스] 배열의 원소만큼 추가 (0) | 2023.09.04 |
[프로그래머스] 접미사인지 확인하기 (0) | 2023.07.23 |
[프로그래머스] 카운트 다운(JavaScript) (0) | 2023.06.16 |