Stream(4)
-
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ์ต๋๊ฐ๊ณผ ์ต์๊ฐ
๋ฌธ์ ์ค๋ช ๋ฌธ์์ด s์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ์ซ์๋ค์ด ์ ์ฅ๋์ด ์์ต๋๋ค. str์ ๋ํ๋๋ ์ซ์ ์ค ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐพ์ ์ด๋ฅผ "(์ต์๊ฐ) (์ต๋๊ฐ)"ํํ์ ๋ฌธ์์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์. ์๋ฅผ๋ค์ด s๊ฐ "1 2 3 4"๋ผ๋ฉด "1 4"๋ฅผ ๋ฆฌํดํ๊ณ , "-1 -2 -3 -4"๋ผ๋ฉด "-4 -1"์ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค. ์ ํ ์กฐ๊ฑด s์๋ ๋ ์ด์์ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค. ์ ์ถ๋ ฅ ์ s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" ๋์ ํ์ด ์ ์คํธ๋ฆผ ์์ฐ๊ณ ํ๋ ค๊ณ ํ๋๋ฐ min, max ๊ตฌํ๋๊ฒ ๊ท์ฐฎ์์... ใ ใ ๋ง์นจ ์คํธ๋ฆผ์ผ๋ก ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์๊ฐ๋์ ์ด๋ฒ์ ์ด๋ ๊ฒ ํ๋ฒ ํ์ด๋ดค๋ค.. ๋์ ์คํ์๋๋ ์ด๋ง์ด๋งํ๊ฒ ๋..
2022.10.06 -
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1. ํ๊ท ๊ตฌํ๊ธฐ
๋ฌธ์ ์ค๋ช ์ ์๋ฅผ ๋ด๊ณ ์๋ ๋ฐฐ์ด arr์ ํ๊ท ๊ฐ์ returnํ๋ ํจ์, solution์ ์์ฑํด๋ณด์ธ์. ์ ํ์ฌํญ arr์ ๊ธธ์ด 1 ์ด์, 100 ์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค. arr์ ์์๋ -10,000 ์ด์ 10,000 ์ดํ์ธ ์ ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ arr return [1,2,3,4] 2.5 [5,5] 5 ๋์ ํ์ด ๋จผ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๊ณ , ๋ฐฐ์ด์ ๊ฐ์ ๋ชจ๋ ๋ํ ๋ค์์ ๋ฐฐ์ด์ ํฌ๊ธฐ์ธ length๋ฅผ ๋๋ ์ฃผ๋ฉด ์ํ๋ ๊ฐ์ ๊ตฌํ ์ ์๋ค. ๋ค๋ฅธ ํ์ด ๋ญ ์ด๋ฐ์์ผ๋ก Stream์ ์ฌ์ฉํด์ ํ ์ ๋ ์๋ค. ํ์ง๋ง ์ฝ๋๋ ์งง์์ก๋ค๊ณ ํ๋๋ผ๋ ํจ์จ์ฑ ์ธก๋ฉด์์ ๋ณด๋ฉด ์ด ํ์ด๊ฐ ์๋์ ์ผ๋ก ์คํ ์๋๊ฐ ๋๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฒซ๋ฒ์งธ ํ์ด ๋๋ฒ์งธ ํ์ด ๋ณด๋ฉด Stream ์ฐ๋๊ฒ ๋ฌด์กฐ๊ฑด ์ข๋ค๊ณ ๋ ํ ์ ์๋ ๊ฒ ๊ฐ๋ค.
2022.09.28 -
[JAVA] 23. ๋ฉ์๋ ์ฐธ์กฐ, ์คํธ๋ฆผ(Stream)
1๏ธโฃ ๋ฉ์๋ ์ฐธ์กฐ ๋๋ค์์์ ๋๋ค์์ด ํ๋์ ๋ฉ์๋๋ง ํธ์ถํ๋ ๊ฒฝ์ฐ์๋ '๋ฉ์๋ ์ฐธ์กฐ(method reference)'๋ผ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋๋ค์์ ๊ฐ๋ตํ ํ ์ ์๋ค. ํด๋์ค์ด๋ฆ::๋ฉ์๋์ด๋ฆ -> Function ์ธํฐํ์ด์ค์ ์ง์ ๋ ์ง๋ค๋ฆญ ํ์ ์ผ๋ก ๋๋ค์์ ์ผ๋ถ๋ฅผ ์ถ์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ตํ ์ ์๋ค. ์ฐธ์กฐ๋ณ์ f์ ํ์ ๋ง ๋ด๋ ๋๋ค์์ด ํ๊ฐ์ String์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋ ๊ฒ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค์์ ๋งค๊ฐ๋ณ์๋ค์ ์์ด๋ ๋๋ค. -> ์์ฑ์๋ฅผ ํธ์ถํ๋ ๋๋ค์๋ ๋ฉ์๋ ์ฐธ์กฐ๋ก ๋ณํํ ์ ์๋ค. -> ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์๋ผ๋ฉด ๋งค๊ฐ๋ณ์์ ๊ฐ์์ ๋ฐ๋ผ ์๋ง์ ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. -> ๋ฐฐ์ด์ ์์ฑํ ๋๋ ๋ฉ์๋ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ผ๋ก ์ด๊ฑฐ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ํ๋ค. 2๏ธโฃ ์คํธ๋ฆผ (Stream) ..
2022.06.05 -
[JAVA] ๋ ์๋ฐ, Java 8 Stream
1๏ธโฃ Stream ์คํธ๋ฆผ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ์ ์ฅ์(Collection) ์ด ์๋๋ค! Functional in nature, ์คํธ๋ฆผ์ด ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค. ์คํธ๋ฆผ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ์ค์ง ํ๋ฒ๋ง ์ฒ๋ฆฌํ๋ค! ๋ฌด์ ํ์ผ ์๋ ์๋ค. -> ๊ทผ๋ฐ Short Circuit ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ ํํ ์ ์๋ค. ์ค๊ฐ ์คํผ๋ ์ด์ ์ ๊ทผ๋ณธ์ ์ผ๋ก lazyํ๋ค. ์์ฝ๊ฒ ๋ณ๋ ฌ์ฒ๋ฆฌํ ์ ์๋ค. 2๏ธโฃ ์คํธ๋ฆผ ํ์ดํ๋ผ์ธ 0 ๋๋ ๋ค์์ ์ค๊ฐ ์คํผ๋ ์ด์ (Intermediate operation) ๊ณผ ํ๊ฐ์ ์ข ๋ฃ ์คํผ๋ ์ด์ (Terminal operation)์ผ๋ก ๊ตฌ์ฑํ๋ค. ์คํธ๋ฆผ์ ๋ฐ์ดํฐ ์์ค๋ ์ค์ง ํฐ๋ฏธ๋ ์คํผ๋ ์ด์ ์ ์คํํ ๋์๋ง ์ฒ๋ฆฌํ๋ค. 3๏ธโฃ ์ค๊ฐ ์คํผ๋ ์ด์ Stream์ ๋ฆฌํดํ๋ค. Stateless/..
2022.04.06