문제 설명
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
제한 사항
1 ≤ n ≤ 100
입출력 예
n | result |
10 | [1, 3, 5, 7, 9] |
15 | [1, 3, 5, 7, 9 , 11, 13, 15] |
입출력 #1 : 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.
입출력 #2 : 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.
나의 풀이
class Solution {
public int[] solution(int n) {
// n의 값이 1 이상 100 이하인지 확인
if (!(1 <= n && n <= 100)) return new int[0];
int[] answer;
if (n % 2 == 0) {
answer = new int[n / 2];
} else {
answer = new int[(n + 1) / 2];
}
for (int i = 0; i < answer.length; i++) {
answer[i] = (i * 2) + 1;
}
return answer;
}
}
다른 풀이
import java.util.ArrayList;
import java.util.List;
class Solution {
public int[] solution(int n) {
if (!(1 <= n && n <= 100)) return new int[0];
List<Integer> oddNumbers = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
oddNumbers.add(i);
}
}
// 리스트를 배열로 변환
int[] result = new int[oddNumbers.size()];
for (int i = 0; i < oddNumbers.size(); i++) {
result[i] = oddNumbers.get(i);
}
return result;
}
public static void main(String[] args) {
Solution sol = new Solution();
int[] result = sol.solution(10);
System.out.println(Arrays.toString(result)); // [1, 3, 5, 7, 9]
}
}
'👨💻 Coding Test' 카테고리의 다른 글
[Programmers/Java/Lv.0] 16.피자 나눠 먹기 (2) (0) | 2024.09.20 |
---|---|
[Programmers/Java/Lv.0] 15.피자 나눠 먹기 (1) (0) | 2024.09.20 |
[Programmers/Java/Lv.0] 13.최빈값 구하기 (0) | 2024.09.20 |
[Programmers/Java/Lv.0] 12.중앙값 구하기 (0) | 2024.09.18 |
[Programmers/Java/Lv.0] 11.나머지 구하기 (0) | 2024.09.15 |