| 문제
정수 배열numbers가 매개변수로 주어집니다.
numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
| 제한사항
-10,000 ≤ numbers의 원소 ≤ 10,000
1 ≤ numbers의 길이 ≤ 1,000
| 입출력 예
numers | 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
public int[] solution01(int[] numbers) {
int[] answer = new int[numbers.length];
for(int i = 0 ; i < answer.length ; i++){
answer[i] = numbers[i] * 2;
}
return answer;
}
| 풀이2
public List solution02(int[] numbers) {
List<Integer> result = new ArrayList<Integer>();
for(int num : numbers) {
result.add(num*2);
}
return result;
}
| 해설
배열을 return하는 문제에서 종종 보이는 풀이법이
return값을 아예 List나 ArrayList로 바꾸는 방식이에요.
실제로 저도 코딩 테스트를 할 수 있는 시스템을 간단하게 만들어보려고 한 적이 있는데
로직상 출력된 값으로 판단해야 하기 때문에 구성요소만 일치한다면
배열로 return하건 List로 리턴하건 크게 상관은 없었거든요.
그래서 테스트 삼아서 한번 해봤는데 List로도 되길래 흥미로웠습니다.
그러면 이런 의문이 들 수 있어요.
"진짜 코테때 이렇게 문제를 바꿔버려도 되나"
저는 바꿔도 된다고 생각합니다.
제가 문제를 낸 사람이라면 굉장히 재밌을 것 같아요.
문제가 가지고 있는 오류를 찾아서 그 점을 이용한 신입 개발자라니... 너무 재기 발랄해요.
우리가 프로그래밍이라는 것을 통해서 얻고자 하는 건
사용자의 편의이지 엄격한 규칙과 규율이 아니기 때문에
어떤 방식으로라도 문제없이 잘 돌아가기만 하면 장땡 아닐까요?
하지만, 원칙과 규칙을 중시하는 집단이라면 절대 바꾸면 안됩니다.
공무에 가까운 일을 수행하거나 은행, 법무법인과 같은 고객사와 일하는 회사의 코테라면
절대 주어진 메소드 선언부를 손대지 마시길 추천드립니다.
'개발 > 개발 공부' 카테고리의 다른 글
[프로그래머스] 코딩테스트 입문 : 중앙값 구하기 (2) | 2024.08.28 |
---|---|
[프로그래머스] 코딩테스트 입문 : 나머지 구하기 (0) | 2024.08.27 |
[프로그래머스] 코딩테스트 입문 : 분수의 덧셈 (0) | 2024.08.26 |
[프로그래머스] 코딩테스트 입문 : 두 수의 나눗셈 (0) | 2024.08.25 |
[프로그래머스] 코딩테스트 입문 : 몫 구하기 (0) | 2024.08.23 |
댓글