포스트

98. 주사위의 개수

image


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import Foundation

func solution(_ box:[Int], _ n:Int) -> Int {
    
    var answer : Int = 0
    var volume : Int = 0
    
    volume = box.reduce(1,*)
    
    answer = volume / (n*n*n)
    
    print(volume)
    
    return 0
}

처음에는 이런식으로 문제를 풀려고 했다. 하지만 2번케이스에서 실패하였다.

왜 안되는지 이유를 몰라서 질문하기 케이스를 보니 질문한 사람들이 대부분 나와 같은 생각을 하고 있었다.

부피의 개념으로 접근을 할때 전체 박스의 부피에서 n의 부피를 나누어서 생긴 문제였다.

각각을n으로 나눈 값을 곱하면 금방 해결이 된다.

하지만 일일이 n씩 나누는것보다 한번에 배열에 n을 나눈값을 리턴하면 훨씬 편할 거같아서 찾아보았다.

너무 나누기에 포커스를 둬서 map을 잊고있었다…..

다른코드

1
2
3
4
5
6
7
8
9
10
import Foundation

func solution(_ box:[Int], _ n:Int) -> Int {
    
    var answer : Int = 0

    answer = box.map{$0/n}.reduce(1,*)

    return answer
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.