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 |