Open Caramel1004 opened 8 months ago
메모리: 79.3 MB, 시간: 2.28 ms
코딩테스트 연습 > 코딩테스트 입문
정확성: 100.0
합계: 100.0 / 100.0
2024년 02월 22일 13:36:23
정수 배열 numbers
가 매개변수로 주어집니다. numbers
의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
numbers
의 원소 ≤ 10,000numbers
의 길이 ≤ 1,000numbers | 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
입출력 예 #2
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges 사용언어: java
import java.util.stream.IntStream;
class Solution { public int[] solution(int[] numbers) { return IntStream.of(numbers) .map(number -> number * 2) .toArray(); } }
* 방법 2. for문 활용 *
1. 새로운 배열 선언
2. 새로운 배열에 numbers 요소 하나씩 2배해서 저장
3. 새로운 배열 리턴
class Solution { public int[] solution(int[] numbers) {
int[] newArr = new int[numbers.length];
int index = 0;
for(int num : numbers) {
newArr[index] = numbers[index] * 2;
index++;
}
return newArr;
}
}
메모리: 33.6 MB, 시간: 0.09 ms
코딩테스트 연습 > 코딩테스트 입문
정확성: 100.0
합계: 100.0 / 100.0
2024년 03월 18일 19:53:17
정수 배열 numbers
가 매개변수로 주어집니다. numbers
의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
numbers
의 원소 ≤ 10,000numbers
의 길이 ≤ 1,000numbers | 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
입출력 예 #2
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
let answer = []; function solution(numbers) { for(let i=0; i<numbers.length; i++){ answer.push(numbers[i]*2) } return answer; }
조인하님 코멘트의 변우영님 댓글
for문을 활용하여 아주 잘 해결하셨습니다. 하나만 언급하자면 최대한 변수는 함수 안에 지역변수로 선언하는게 제일 좋습니다. answer를 const 로 선언 하는 것이 더 좋을듯 합니다. 왜냐하면 let을 사용하게 되면 다른 값으로 재할당이 가능하게 되어 자칫 answer의 변수 값의 타입이 바뀔 수 가 있습니다. 그래서 answer는 리턴되는 중요한 변수이니 const로 선언하여 배열이외의 값은 재할당 못하도록 하시고 const로 선언하셔도 push가 가능합니다. answer는 배열 타입의 포인터를 지정한 것이고, answer.push(); 를 통해 answer의 메모리에 접근합니다. push(), pop() 등의 메소드는 포인터를 바꾸는 행위가 아니기 때문에 push(), pop() 이 가능합니다.
function solution(numbers) {
const answer = [];
for(let i=0; i<numbers.length; i++){
answer.push(numbers[i]*2)
}
return answer;
}
이렇게 코드 리팩토링 하면 좋을거 같습니다. 문제 해결하시느라 고생 많으셨습니다.👍🏻
[level 0] 배열 두 배 만들기 - 120809
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120809
📚 오늘의 문제를 해결하시고 comment로 본인이 푼 코드를 올려주시면 됩니다.
🚀 제일 자신있는 언어로 푸시면 됩니다.
📑 자신이 사용한 언어에서 참고한 레퍼런스 문서가 있다면 공유해주세요.
🧑🏻💻 맨 위쪽에 "제출자: <본인이름>" 이 양식으로 남겨주세요.
🧑🏻💻 코드 스니핏은 백틱 위에3개 아래에 3개로 만드신 다음 그 사이에 코드를 삽입하시면 됩니다.
[x] 변우영
[x] 조인하
[ ] 이기하