(java)프로그래머스 코딩테스트 - 짝수는 싫어요

navelop·2023년 10월 12일
0

TIL(CODE)

목록 보기
11/20

✔️ 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성하라
class Solution {
    // 제한 사항 추가 1 <= n <= 100
    public int[] solution(int n) {
        int[] arr = new int[100];
        int index = 0; // 인덱스 변수

        // arr.length는 항상 길이가 정해져있는 배열을 사용할 때 유용
        for(int i = 1; i<=n; i++){ // 1~n까지 증가(범위탐색)
            if( i%2 != 0 ){
                arr[index] = i;
                index++;
            }
        }

        int[] answer = new int[index];
        for(int i = 0; i < index; i++){ // 배열 복사 범위
            answer[i] = arr[i];
        }
        return answer;
    }
}

... [1, 3, 5, 7, 9, 11, 13, 15 .... ]
  1. 제한 사항에 맞게 크기 100인 정수 배열을 생성하고
  2. 배열 저장에 사용할 index를 초기화 시킨다
  3. 첫번째 for문은 정수 n의 범위를 탐색하고 짝수가 아닌 경우 (i%2 != 0)
    배열의 인덱스 위치에 저장한다
  4. index ++; => index 변수를 증가시켜 다음 인덱스로 이동

이 과정까지가 1부터 n까지의 홀수가 배열 arr에 저장되는 과정
⬇️아래는 answer 반환을 위한 코드

  1. 배열에 저장된 홀수 숫자의 개수에 맞는 크기를 갖는 배열 생성 (answer)
  2. 두번째 for문은 index 변수를 사용하여 arr 배열의 값을 answer 배열로 복사한다
  3. 저장된 answer 배열을 반환한다 -> 1~n 홀수 저장된 배열

🪄 다른 사람들의 답변을 보았을 때 많은 방법이 있었는데 지금 당장 내가 가장 잘 이해할 수 있는 방법으로 풀어보았다.

0개의 댓글