inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 주사위의 개수

    silver's avatar
    silver
    Dec 18, 2024
    [알고리즘문제풀기] 주사위의 개수
    Contents
    문제내가 작성한 오답내가 작성한 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120845

    내가 작성한 오답

    : 주사위를 상자에 배치할 때 상자와 주사위의 배치 방식에 따라 실제로 들어갈 수 있는 주사위의 개수가 달라지는데 상자와 평행하게 넣는 조건을 제대로 고려하지 않았다.
    class Solution { public int solution(int[] box, int n) { int answer = 0; int volume = 1; for(int a : box){ volume *= a; } answer = volume/(n*n*n); return answer; } }

    내가 작성한 정답

    List

    class Solution { public int solution(int[] box, int n) { int x = box[0]/n; int y = box[1]/n; int z = box[2]/n; return x*y*z; } }

    StreamAPI

    import java.util.Arrays; class Solution { public int solution(int[] box, int n) { return Arrays.stream(box) .map(co->co/n) .reduce(1, (a,b)->a*b); } }
     
    💡

    StreamAPI에서 reduce

    두 개의 매개변수를 사용 Optional<T> reduce(BinaryOperator<T> accumulator) accumulator: 두 개의 요소를 받아서 하나의 요소로 결합하는 함수 이 형태는 결과가 Optional로 반환되며, 스트림이 비어 있을 경우 빈 Optional을 반환
    세 개의 매개변수를 사용 T reduce(T identity, BinaryOperator<T> accumulator) identity: 초기값으로 사용되는 요소 accumulator: 두 개의 요소를 받아서 하나의 요소로 결합하는 함수 이 형태는 스트림이 비어 있을 경우에도 초기값을 반환
     
    Share article

    silver

    RSS·Powered by Inblog