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

0

알고리즘

목록 보기
13/14


업로드중..

내가 한 풀이

class Solution {
    public int solution(int[] numbers, int k) {
        int[] answer = new int[2*k-1];
        int cnt = 0;
        int i = 1;
        while(cnt <= 2*k-2) {
            answer[cnt] = i;
            if(i > numbers.length) {
                i = 1;
             }
            cnt++;
            i++;
         }
        return answer[2*k-2];
    }
}
  • numbers의 값들을 k값에 따라 계산해서 넣어주려 했는데, 실패해서 배열을 새로 생성해서 값을 이어붙이는 방법을 선택했다.
  • 다른 풀이방법을 찾다가, 벨로그 다른 풀이방법을 찾았다.
class Solution {
    public int solution(int[] numbers, int k) {
    	int answer = 0;
        answer = numbers[(2*(k-1) % numbers.length)];
        return answer;
     }
}
  • numbers의 인덱스값에 대한 규칙을 찾아서 문제를 풀이했다.

값에대한 규칙뿐만 아니라 인덱스 규칙도 생각해보기!!

profile
백엔드를 공부하고 있습니다.

0개의 댓글