[programmers] ad ์ ๊ฑฐํ๊ธฐ - Java
๋ฌธ์์ด ๋ฐฐ์ด์์ "ad"๋ฅผ ํฌํจํ๋ ๋ฌธ์์ด์ ์ ๊ฑฐํ๊ณ ๋จ์ ๋ฌธ์์ด์ ๋ฐํํ๋ ์๋ฐ ์๋ฃจ์
์
๋๋ค. stream API๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ๋ง์ง ์๋ ๊ฐ์ ํํฐ๋งํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค.
Jan 16, 2024
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด ๋ฐฐ์ด
strArr
๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ฐฐ์ด ๋ด์ ๋ฌธ์์ด ์ค "ad"๋ผ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋ ๋ชจ๋ ๋ฌธ์์ด์ ์ ๊ฑฐํ๊ณ ๋จ์ ๋ฌธ์์ด์ ์์๋ฅผ ์ ์งํ์ฌ ๋ฐฐ์ด๋ก return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.์ ํ์ฌํญ
- 1 โค
strArr
์ ๊ธธ์ด โค 1,000 - 1 โค
strArr
์ ์์์ ๊ธธ์ด โค 20 strArr
์ ์์๋ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์
strArr | result |
["and","notad","abcd"] | ["and","abcd"] |
["there","are","no","a","ds"] | ["there","are","no","a","ds"] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
- 1๋ฒ ์ธ๋ฑ์ค์ ๋ฌธ์์ด์ธ "notad"๋ ๋ถ๋ถ ๋ฌธ์์ด๋ก "ad"๋ฅผ ๊ฐ์ง๋๋ค. ๋ฐ๋ผ์ ํด๋น ๋ฌธ์์ด์ ์ ๊ฑฐํ๊ณ ๋๋จธ์ง๋ ์์๋ฅผ ์ ์งํ์ฌ ["and","abcd"]๋ฅผ return ํฉ๋๋ค.
์
์ถ๋ ฅ ์ #2
- "ad"๊ฐ ๋ถ๋ถ ๋ฌธ์์ด๋ก ๋ค์ด๊ฐ ๋ฌธ์์ด์ด ์กด์ฌํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ ๋ฐฐ์ด์ ๊ทธ๋๋ก return ํฉ๋๋ค.
solution.java
import java.util.Arrays; class Solution { public String[] solution(String[] strArr) { return Arrays.stream(strArr).filter(item -> !item.contains("ad")).toArray(String[]::new); } }
ํต์ฌ ํค์๋
- ๋ฐฐ์ด ๋ด์์ stream api๋ฅผ ํ์ฉํด์ ํน์ ์กฐ๊ฑด์ ๊ฐ์ง ๊ฐ์ ์ ๊ฑฐํ์ฌ ๋ฐฐ์ด์ ๋ฐํํ ์ ์๋ค.
- ์๋ฐ์ stream์ Java 8๋ถํฐ ์ง์ํ๋ ๊ธฐ๋ฅ์ด๋ฉฐ, ์ปฌ๋ ์ ์ ์ ์ฅ๋์ด์๋ ์๋ฆฌ๋จผํธ๋ค์ ํ๋์ฉ ์ํํ๋ฉด์ ์ฒ์ดํ ์ ์๋ ์ฝ๋ํจํด์ด๋ค.
- filter๋ stream์์ ๋ฝ์์ ธ ๋์ค๋ ๋ฐ์ดํฐ์์ ํน์ ๋ฐ์ดํฐ๋ค๋ง ๊ณจ๋ผ๋ผ ์ ์๋ค.
- filter() ๋ฉ์๋์๋ boolean ๊ฐ์ ๋ฆฌํดํ๋ ๋๋ค์์ ๋๊ฒจ์ฃผ์์ ๋, ๋๋ค์์ ์ ์ฉํด์ true๊ฐ ๋ฆฌํด๋๋ ๋ฐ์ดํฐ๋ง ์ ๋ณํ๋ ๊ธฐ๋ฅ์ด ์๋ค.
- :: (์ด์ค ์ฝ๋ก ์ฐ์ฐ์)์ ํํ๋ :: ์์ ์ธ์คํด์ค๊ฐ ์ค๊ณ , ๋ค์๋ ๋ฉ์๋ ๋ช ์ด๋ new๊ฐ ์ค๋ฉด ๋๋ค.
๊ฒฐ๋ก !
ํด๋น ๋ฌธ์ ๋ฅผ ํ๋ฉด์ stream์ ํ์ฉ๋ฒ์ ์ตํ ์ ์์๋ค.
Share article