배열 두배 만들기

1. 문제


2. 나의 생각

for문을 돌려 numbers 배열에 하나 씩 *2 를 해주는 방식으로 접근했으나, 음수 때문에 답이 나오지 않았다. 그래서 음수 있때 -1을 한번 더 곱해주도록 삼항연산자를 넣었고 값이 프로그래머스에서 원하는 값이 아니라고 하여 마지막에 +1를 해줬다. 왜 이렇게 나오는지는 모르겠으나 답을 맞추기 위해 추가 한 부분이니 참고하면 될 듯 하다.

class Solution {
    public int[] solution(int[] numbers) {
        
        for(int i = 0 ; i < numbers.length ; i++) {
        	numbers[i] = (numbers[i] > 0) ?  numbers[i]* 2 : (numbers[i]* 2)-1+1;
        }
        
        return numbers;
    }
}

아래의 코드가 원래 짰던 코드이다.

class Solution {
    public int[] solution(int[] numbers) {
        for(int i = 0; i < numbers.length; i++){
            numbers[i] = numbers[i] * 2;
        }

        return numbers;
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

특정 문자 제거하기  (0) 2022.11.23
삼각형의 완성조건(1)  (0) 2022.11.23
문자 반복 출력하기  (0) 2022.11.23
최댓값 만들기(1)  (0) 2022.11.23
배열 원소의 길이  (0) 2022.11.23