개발로그필름
[프로그래머스] 공 던지기 javascript 본문
728x90
반응형
SMALL
https://school.programmers.co.kr/learn/courses/30/lessons/120843
문제
나의 풀이
function solution(numbers, k) {
var answer = 0;
var idx = 0;
for(i=0; i<k; i++){
if(idx > numbers.length - 1) {
idx = idx - numbers.length
}
answer = numbers[idx]
idx+=2;
}
return answer;
}
k번째로 공 던지는 사람을 구하는 문제이므로 k만큼 반복문을 돌린다
idx 초기값을 0으로 주고 idx는 numbers의 idx이다
반복문 한 사이클을 돌때마다 idx는 2씩 증가하는데 공을 바로 옆사람한테 주는게 아니라 한사람 건너뛰고 주기 때문이다
그렇게 idx를 2씩 증가 시키다보면 본래 numbers 배열 length보다 커지는 경우가 발생하는데
그럴땐 if문을 써서 numbers.length만큼 빼준 idx를 업데이트 시킨다
반복문이 끝나면 answer return
다른 사람 풀이
function solution(numbers, k) {
return numbers[((2 * (k -1))) % numbers.length];
}
엄청나게 머리 싸매며 코드 짰는데
다른 사람 풀이로 한 줄 나온거 보며 헉 했지만,,,?
꾸준히 하면 언젠가 나도 이 수준에 도달하리라 생각하며 공부해본다
---------
저렇게 한줄로 코딩을 하면 답이 당연히 나온다. 저 수식에 하나하나 대입해서 구하면 답이 나온다
하지만 어떻게 저 식을 생각해냈는지는 아직 잘 모르겠다,, 훗날 다시 보면 바로 이해되는 날이 오기를,,
반응형
LIST
'coding test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 주사위의 개수 javascript (0) | 2023.05.17 |
---|---|
[프로그래머스] 배열 회전시키기 javascript (pop, shift, splice, filter, delete) (0) | 2023.04.27 |
[프로그래머스] 2차원으로 만들기 javascript (0) | 2023.04.25 |
[프로그래머스] 점의 위치 구하기 javascript (0) | 2023.04.25 |
[프로그래머스] 구슬을 나누는 경우의 수 javascript (0) | 2023.04.24 |
Comments