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

YH·2023년 7월 13일
0

문제

공 던지기 : 문제 링크


문제 분석

  • 친구들의 번호가 들어있는 정수 배열 numbers와 정수 k가 주어질 때, k번째로 공을 던지는 사람의 번호를 return
  • 인덱스는 0부터 시작하고, 오른쪽 한 명을 건너뛰는 규칙을 활용
  • 인덱스가 numbers의 크기를 넘어갈 경우, answer에서 numbers의 크기만큼 뺌
  • for문이 끝나고 numbers 배열 중 answer 위치에 저장된 값을 return

풀이

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers, int k) {
    int answer = 0;
    if(k == 1) return numbers[0];
    
    for(int i = 0; i < k - 1; i++) {
        answer += 2;
        if(answer > numbers.size() - 1) answer -= numbers.size();
    }
    return numbers[answer];
}
profile
Keep Recycling Your Dreams

0개의 댓글