Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- ์ ์๋
- ์ด๊ธฐ์ผ์๋ก
- ์ ํ์ฑ
- ์กฐํฉ๋ ผ๋ฆฌํ๋ก
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ๋ฅ์ฌ
- ์ค์์ด๊ถ์
- ๋ฐ์๋
- ๋ ๋ฒจ0
- p53
- ์๋์กฐ์ ์ฅ์น
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ๋์
- ์ปดํจํฐ์ ๊ฐ๋
- ํ๋ฆฌ์1m๋ง๋๊ธฐ
- ๋ณด๊ถ์ ๊ฑฐ ์ผ์
- ๊ฒฝ์
- ํผํฐ๋ฅด๋ธ๋คผํ
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ์นด๋๋ด์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ์คํ
- ๋์ ์คํ
- ํฌ๋ฆฝํค
- ํํ์ฑ
- ์ฒ ํ
- ์๋ฃ๊ตฌ์ฑ์ ๋จ์
- ์ฌ์ดํด๋ฆฐ
- ์๋ฃ๊ตฌ์กฐ
- ์ ์ ์คํ
- ๊ธฐํ์กฐํฉ๋ ผ๋ฆฌํ๋ก
- ์์๋ ผ๋ฆฌํ๋ก
Archives
- Today
- Total
0105
39. Java/Javascript ํ๋ก๊ทธ๋๋จธ์ค(lv.0) ์ง์๋ ์ซ์ด์ ๋ณธ๋ฌธ
๐ง๐ป programmers
39. Java/Javascript ํ๋ก๊ทธ๋๋จธ์ค(lv.0) ์ง์๋ ์ซ์ด์
๊ณต๋ฐฑ์ค 2025. 3. 11. 22:04728x90
๋ฐ์ํ
โ ๋ฌธ์
์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n ์ดํ์ ํ์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด๊ธด ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
โ java
import java.util.ArrayList;
public class Solution {
public static int[] solution(int n) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= n; i += 2) { // 1๋ถํฐ 2์ฉ ์ฆ๊ฐ (ํ์๋ง ์ ํ)
list.add(i);
}
// ArrayList๋ฅผ int[] ๋ฐฐ์ด๋ก ๋ณํ
return list.stream().mapToInt(Integer::intValue).toArray();
}
public static void main(String[] args) {
int[] result = solution(10);
for (int num : result) {
System.out.print(num + " "); // 1 3 5 7 9
}
}
}
๐ Arraylist<Integer>์ธ ์ด์ ?
- java์์ ArrayList๋ ๊ฐ์ฒด(Object) ํ์ ๋ง ์ ์ฅ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๊ธฐ๋ณธํ(primitive type) int๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ๋์ int์ ๋ํผํด๋์ค(wrapper class)์ธ Integer์ ์ฌ์ฉํด์ผํ๋ค.
๐ int์ Integer์ ์ฐจ์ด
type | ์ค๋ช | ๋ฉ๋ชจ๋ฆฌ |
int | ๊ธฐ๋ณธํ (primitive type), 4๋ฐ์ดํธ | ์คํ(Stack) |
Integer | int์ ๋ํผ ํด๋์ค (๊ฐ์ฒด) | ํ(Heap) |
โ int๋ ๊ธฐ๋ณธ ์๋ฃํ์ผ๋ก, ๊ฐ์ฒด๊ฐ ์๋
โ Integer๋ ๊ฐ์ฒด(Reference type)๋ก, ArrayList์ ์ ์ฅ ๊ฐ๋ฅ
โ java๊ฐ Auto-boxing & Unboxing ์ ์ง์ํ๋ฏ๋ก int์ฒ๋ผ ์ฌ์ฉ๊ฐ๋ฅ
๐น 1. ์คํ(Stack) ๋ฉ๋ชจ๋ฆฌ๋?
- ๋ฉ์๋ ์คํ ์ค ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ
- LIFO(Last in First out) ๊ตฌ์กฐ
- ๋ง์ง๋ง์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ ๊ฑฐ๋๋ค
- ๋ฉ์๋ ํธ์ถ ์ ์์ฑ๋๊ณ ์ข ๋ฃ์ ์๋ ํด์ ๋๋ค
- ๊ธฐ๋ณธํ ๋ณ์(int, char, double,,,)์ ๋ฉ์๋์ ์ง์ญ๋ณ์๋ฅผ ์ ์ฅํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น/ํด์ ๊ฐ ๋น ๋ฅด๋ค.
- LIFO(Last in First out) ๊ตฌ์กฐ
๐น 2. ํ(Heap) ๋ฉ๋ชจ๋ฆฌ๋?
- ๊ฐ์ฒด(ํด๋์ค ์ธ์คํด์ค)๊ฐ ์ ์ฅ๋๋ ๊ณต๊ฐ
- ํฌ๊ธฐ๊ฐ ํฌ๊ณ ๋์ ํ ๋น์ด ๊ฐ๋ฅํ๋ค -> ํ๋ก๊ทธ๋จ ์คํ ์ค์๋ ์์ฑ๋๋ค.
- ๊ฐ์ฒด๋ ์ฐธ์กฐ ๋ณ์(Reference)๋ฅผ ํตํด ์ ๊ทผ
- new ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- Garbage Collector๊ฐ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ค.
- ๊ธฐ๋ณธํ(Primitive Type) -> ๊ฐ์ ์ง์ ์ ์ฅ
- ์ฐธ์กฐํ(Reference Type) -> ํ์ ๊ฐ์ฒด ์ ์ฅ + ์คํ์ ์ฃผ์๊ฐ ์ ์ฅ
- ์ฃผ์๊ฐ์ ๋ณต์ฌํ๋ฉด ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌ์ผ ๊ฐ์ด ๊ณต์ ๋๋ค
- ๊น์ ๋ณต์ฌ(์ ๊ฐ์ฒด ์์ฑ)์ ํ๋ฉด ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๐ ArrayList๋ฅผ solution์ ๋ฆฌํด๊ฐ์ธ int[]๋ก ๋ณํ
- list.stream()
- ArrayList๋ฅผ Stream API๋ก ๋ณํ -> ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ ์ ์๊ฒ ๋จ
- .mapToInt(Integer::intValue)
- Integer๊ฐ์ฒด๋ฅผ ๊ธฐ๋ณธํ int๋ก ๋ณํ(์๋ ์ธ๋ฐ์ฑ)
- Integer::intValue(๋ฉ์๋ ์ฐธ์กฐ๋ฐฉ์) == x -> x.intValue(๋๋ค ํํ์ ๋ฐฉ์)
- .toArray()
- ๋ฐฐ์ด๋ก ๋ฐํ
โ javascript
function solution(n) {
let answer = [];
for (let i = 1; i<=n; i+=2) {
answer.push(i)
}
return answer;
}
728x90