https://school.programmers.co.kr/learn/courses/30/lessons/120843
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]

[ 내 풀이 ]
function solution(numbers, k) {
let answer = 1; // 시작 위치를 1로 설정
for (let i = 0; i < k - 1; i++) { // 처음 카운트는 빼야해서 k-1번 반복
answer += 2; // 현재 위치에서 2를 더함 (2칸씩 이동)
if (answer > numbers.length) answer -= numbers.length;
// 만약 answer가 배열의 길이를 초과하면 길이만큼 빼서 순환
}
return answer;
}
[ 다른 풀이 ]
function solution(numbers, k) {
return numbers[(--k * 2) % numbers.length];
// k를 1 감소시킨 후 2를 곱하고,
// 배열의 길이로 나눈 나머지를 인덱스로 사용하여 해당 위치의 값을 반환
}
function solution(numbers, k) {
return numbers[((2 * (k - 1))) % numbers.length];
// k를 1 감소시키고, 2를 곱한 후, numbers 배열의 길이로 나눈 나머지를 인덱스로 사용하여 해당 위치의 값을 반환
}반응형
'Algorithm > Javascript' 카테고리의 다른 글
| [ 프로그래머스 ] 주사위의 개수 ( JS ) (0) | 2024.06.26 |
|---|---|
| [ 프로그래머스 ] 배열 회전시키기 ( JS ) (0) | 2024.06.24 |
| [ 프로그래머스 ] 2차원으로 만들기 ( JS ) (0) | 2024.06.22 |
| [ 프로그래머스 ] 구슬을 나누는 경우의 수 ( JS ) (0) | 2024.06.21 |
| [ 프로그래머스 ] 가위 바위 보 ( JS ) (1) | 2024.06.19 |
