๐Ÿง‘‍๐Ÿ’ป programmers

28. Java/Javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(lv.0) n์˜ ๋ฐฐ์ˆ˜ ๊ณ ๋ฅด๊ธฐ

๊ณต๋ฐฑ์˜ค 2025. 3. 11. 19:44
728x90
๋ฐ˜์‘ํ˜•

โœ… ๋ฌธ์ œ

์ •์ˆ˜ n๊ณผ ์ •์ˆ˜ ๋ฐฐ์—ด numlist๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, numlist์—์„œ n์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ˆ˜๋“ค์„ ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

โœ… Java

import java.util.Arrays;

class Solution {
    public int[] solution(int n, int[] numlist) {
        int[] answer = {};
        answer = Arrays.stream(numlist) // ๋ฐฐ์—ด์„ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ฐ˜ํ™˜
                .filter( num -> num % n == 0 ) // n์˜ ๋ฐฐ์ˆ˜๋งŒ ํ•„ํ„ฐ๋ง
                .toArray(); // ๋‹ค์‹œ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
        return answer;
    }
}

๐Ÿ“Œ Stream

  • ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์ฒ˜๋ฆฌํ•˜๋Š” api
  • ๋ฐฐ์—ด, ์ปฌ๋ ‰์…˜(List, Set, Map)๋“ฑ์˜ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘๊ฐ€๋Šฅ
  • ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ, ํ•„ํ„ฐ๋ง, ๋งคํ•‘, ์ •๋ ฌ๋“ฑ์˜ ๊ธฐ๋Šฅ ์ง€์›
  • ์›๋ณธ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐ŸŒฉ๏ธ  stream์˜ ์ฃผ์š” ์—ฐ์‚ฐ

  • filter()
    • ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋งŒ ํ•„ํ„ฐ๋งํ•œ๋‹ค
    • stream.filter( n -> n > 10)
  • map()
    • ์š”์†Œ๋ฅผ ๋ณ€ํ™˜ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ
    • stream.map(n -> n * 2)
  • sorted()
    • ์š”์†Œ ์ •๋ ฌ
    • stream.soreted()
  • forEach()
    • ์š”์†Œ ๋ฐ˜๋ณต์ฒ˜๋ฆฌ
    • stream.forEach(System.out::println)
  • collecct()
    • ์ŠคํŠธ๋ง์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ์ŠคํŠธ ๋“ฑ์œผ๋กœ ๋ฐ˜ํ™˜
    • stream.collect(Collectors.toList())
  • reduce() 
    • ์š”์†Œ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ์ถ•์†Œ
    • stream.reduce(0, (a,b) -> a+b)

 

โœ… JavaScript

function solution(n, numlist) {
    let answer = [];
    answer = numlist.filter(num => num % n === 0)
    return answer;
}
728x90