๋ฌธ์
์๋ฐ ๊ฐ๋
- Stream API๋?
๋๋ค์์ ์ด์ฉํ ๊ธฐ์ ์ค ํ๋๋ก ๋ฐ์ดํฐ ์์ค๋ฅผ ์กฐ์ ๋ฐ ๊ฐ๊ณต, ๋ณํํ์ฌ ์ํ๋ ๊ฐ์ผ๋ก ๋ฐํํด์ฃผ๋ ์ธํฐํ์ด์ค- String[] ๋ฐฐ์ด to Integer[] ๋ฐฐ์ด : `Arrays.stream(list).mapToInt(Integer::parseInt)`
- ์ต๋๊ฐ, ์ต์๊ฐ : `Arrays.stream(list).max().getAsInt()`, `Arrays.stream(list).min().getAsInt()`
ํ์ด
String ๋ฐฐ์ด์ Integer ๋ฐฐ์ด๋ก ๋ณํํ ๋ Stream API๋ฅผ ์ฌ์ฉํ์ฌ ํ์ดํ์๋ค.
1. String ์ ๋ ฅ๊ฐ์ split์ ์ด์ฉํด ๊ณต๋ฐฑ ๊ธฐ์ค์ผ๋ก String ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ
2. `Arrays.strea(list).mapToInt(Integer::parseInt)` ๋ก String ๋ฐฐ์ด์ Integer ๋ฐฐ์ด๋ก ๋ณํํด์คฌ๋ค.
3. strem์ ์ฌ์ฉํ์ฌ ์ต๋๊ฐ ์ต์๊ฐ์ ๊ตฌํ ๋๋ `.max().getAsInt()` ๋ก int ๊ฐ์ ์ป์ด์ผํ๋ค.
4. ๋ค์ ๋ฌธ์์ด๋ก ๋ฐํํด์ค์ผํ๊ธฐ ๋๋ฌธ์ StringBuilder๋ฅผ ์ฌ์ฉํ์๋ค.
class Solution {
public String solution(String s) {
StringBuilder sb = new StringBuilder();
String[] list = s.split(" "); // ๊ณต๋ฐฑ ๊ธฐ์ค ๋ฌธ์์ด ๋ฐฐ์ด ์์ฑ
// ์ต๋๊ฐ ์ถ์ถ
int max = Arrays.stream(list)
.mapToInt(Integer::parseInt) // String[] to Integer[]
.max()
.getAsInt();
// ์ต์๊ฐ ์ถ์ถ
int min = Arrays.stream(list)
.mapToInt(Integer::parseInt) // String[] to Integer[]
.min()
.getAsInt();
sb.append(min + " ");
sb.append(max);
return sb.toString();
}
}
'์ฝ๋ฉ ํ ์คํธ > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ / Lv.3] 43105 ์ ์ ์ผ๊ฐํ (5) | 2024.07.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ / Lv.2] 70129 ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (0) | 2024.07.24 |
[ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ / Lv.2] 12924 ์ซ์์ ํํ (1) | 2024.07.23 |
[ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ / Lv.3] 42628 ์ด์ค์ฐ์ ์์ํ (1) | 2024.07.22 |
[ํ๋ก๊ทธ๋๋จธ์ค / ์๋ฐ / Lv.2] 12941 ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2024.07.11 |