코딩/프로그래머스

[프로그래머스] 배열 두 배 만들기.java

peter_00 2024. 3. 14. 23:02
반응형

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return 하도록 solution 함수를 완성해 주세요.

 

제한사항

  • -10,000 ≤ numbers의 원소 ≤ 10,000
  • 1 ≤ numbers의 길이 ≤ 1,000

입출력 예

numbers result

[1, 2, 3, 4, 5] [2, 4, 6, 8, 10]
[1, 2, 100, -99, 1, 2, 3] [2, 4, 200, -198, 2, 4, 6]

 

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]의 각 원소에 두 배를 한 배열 [2, 4, 6, 8, 10]을 return 합니다.

입출력 예 #2

  • [1, 2, 100, -99, 1, 2, 3]의 각 원소에 두 배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return 합니다.
class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = new int [numbers.length];
        
        for (int i =0; i < numbers.length; i++){
            answer [i] = numbers[i] * 2;
        }
        return answer;
    }
}

하나하나 풀이해 보자면 쉽다.

 

int [] answer = new int [numbers.length]; 를 사용하는 이유는 answer는 numbers.length의 길이를 따를 거 기 때문

 

for문이 핵심인데

 

for (int i =0; i < numbers.length; i++){
            answer [i] = numbers [i] * 2;
        }

. length를 사용하면 길이를 알 수가 있다.

예시를 참고하면 numbers에 5개의 숫자가 있는데

그렇다면. length는 5를 나타낼 것이다.

i는 0에서 시작, 5보다 작아야 하므로 4가 최대치이다.

answer [i]에 4가 들어가고 0부터 4번째 숫자까지 2배를 하게 된다.

예시에 나온 [1, 2, 3, 4, 5]는

쉽게 말하자면 [0,1,2,3,4 ]인 것이다. 따라서 [2, 4, 6, 8, 10] 이 값으로 나온다.

반응형