문제설명
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ n ≤ 100
입출력 예
| n | result |
| 10 | [1, 3, 5, 7, 9] |
| 15 | [1, 3, 5, 7, 9, 11, 13, 15] |
목적
n 이하의 홀수가 오름차순으로 담긴 배열 return
나의 코드
function solution(n) {
const answer = [];
for (i = 0; i <= n; i++ ) {
if(i % 2 == 1) {
answer.push(i);
}
}
return answer;
}
방식
반복문으로 n 까지의 숫자를 돌면서 홀수인 것만 배열에 넣기
다른 사람의 코드
function solution(n) {
var answer = [];
for (let i = 1; i<=n; i+=2) answer.push(i)
return answer;
}
나와의 차이
나
- 0부터 n까지 전부 검사
- 매번 if로 홀수인지 확인
다른 사람의 코드
- 처음부터 홀수만 순회
- 조건문 자체가 필요 없음
⇒ 나는 일단 다 돌고 걸러내는데 다른 사람의 코드는 처음부터 필요한 것만 뽑음
느낀점
단순히 반복문을 사용하는 것보다 어떻게 순회하느냐에 따라 코드가 더 효율적으로 바뀔 수 있다는 점을 느꼈다. 나는 단순히 모든 숫자를 돌면서 홀수를 걸러내는 식으로만 생각했는데 다른 사람의 코드를 보니 처음부터 홀수만 순회하도록 설계해서 불필요한 조건문을 제거한 점이 인상적이었다. 앞으로는 문제를 풀 때 단순히 정석적인 방법도 좋지만 불필요한 연산을 줄일 수 있는 더 효율적인 접근 방식도 함께 고민해야겠다고 느꼈다.
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 피자 나눠 먹기 (2) (0) | 2026.04.05 |
|---|---|
| [프로그래머스] 피자 나눠 먹기 (1) (0) | 2026.04.05 |
| [프로그래머스] 최빈값 구하기 (0) | 2026.04.03 |
| [프로그래머스] 중앙값 구하기 (0) | 2026.04.02 |
| [프로그래머스] 배열 두 배 만들기 (0) | 2026.04.01 |