티스토리 뷰
📌문제 설명
📌나의 풀이
import java.util.*;
class Solution {
public List<Integer> solution(int n, int k) {
List<Integer> arr = new ArrayList<>();
//1<= k[] <=n k의배수 오름차순
//k=3, n=10, 3(3*1),6(3*2),9
for(int i=1; k*i<=n; i++){
arr.add(k*i);
}
return arr;
}
}
📌다른 풀이
class Solution {
public int[] solution(int n, int k) {
int count = n / k;
int[] answer = new int[count];
for (int i = 1; i <= count; i++) {
answer[i - 1] = k * i;
}
return answer;
}
}
- 나는 List<Integer>로 리턴 타입을 바꿔 작성했는데, 배열 크기를 미리 계산해서 고정 크기를 주는 방법으로 하면 리턴 타입을 굳이 바꾸지 않아도 됐었다. List는 배열 크기를 신경쓰지 않기 때문에 두번째 풀이가 고정 크기의 배열로 메모리 사용에 더 효율적인 것 같다.
- 결론 : 메모리와 성능 최적화 관점에서 두번째 풀이가 더 효율적이다. 하지만 가변적 데이터를 처리할 때는 ArrayList가 더 유연하게 사용할 수 있다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스|JS] Lv.0 구슬을 나누는 경우의 수 (0) | 2024.10.17 |
---|---|
[프로그래머스|JS] Lv.0 짝수 홀수 개수 (0) | 2024.10.16 |
[프로그래머스|JS] Lv.1 K번째수 (0) | 2024.10.14 |
[프로그래머스/JS] Lv.0 배열의 평균값 (0) | 2024.09.25 |
[프로그래머스/JS] 분수의 덧셈 (0) | 2024.09.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TypeScript
- 오버로딩
- props
- 프로젝트회고록
- overloading
- 프로그래머스
- 노마드
- useEffect
- Async
- splice
- 카카오로그인
- slice
- await
- nomard
- useState
- NPM
- 챌린지1일차
- 타입스크립트
- CLI
- 리액트네이티브
- create react app
- 티스토리챌린지
- ts
- 오블완
- ReactJS
- React
- 자바스크립트
- 리액트
- Cleanup
- 재귀함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함