[프로그래머스] 공 던지기

이아현·2023년 6월 6일
0

코딩테스트

목록 보기
15/31
post-thumbnail

✅ 문제 설명

머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.

✅ 제한사항

  • 2 < numbers의 길이 < 100
  • 0 < k < 1,000
  • numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.
  • numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.

👩‍💻 나의 풀이 (참고해서 푼 문제!)

  • 처음에 인덱스로 풀다가 다른 사람의 코드를 참고하여 선수 번호를 기준으로 풀었다.
  • 이 부분은 범위 설정이 매우 중요한 것 같다.
  • 다음에 다시 한 번 풀어봐야할 것 같다
function solution(numbers, k) {
  var ball = 1; // 처음 공을 던지는 번호

  for (let i = 0; i < k - 1; i++) {
    // k - 1 : 이미 1번 선수가 던졌고, k-1번째 선수가 던진 공의 위치를 찾는 것
    ball += 2;
    if (ball > numbers.length) {
      // ball이 numbers.length와 크거나 같아도됨
      ball -= numbers.length;
    }
  }

  return ball;
}
profile
PM을 지향하는 FE 개발자 이아현입니다 :)

0개의 댓글