Skip to content

Commit

Permalink
solve(programmers): LV3_N으로 표현_kt
Browse files Browse the repository at this point in the history
# id: 문제 id를 숫자로 작성
# categories : 해당 문제의 유형을 ,로 구분하여 작성
# tags : 해당 문제의 태그를 ,로 구분하여 작성
# time : 해당 문제 풀이에 걸린 시간을 분단위 숫자로 작성
# try : 해당 문제에 몇번의 시도를 했는지 숫자로 작성
# help: 해당 문제에 외부의 도움을 받았는지 true/false로 작성
# url : 해당 문제의 url을 작성
id: 42895
categories: [DP]
tags: []
time: 120
try:
help: true
url: https://school.programmers.co.kr/learn/courses/30/lessons/42895#
  • Loading branch information
gogumaC committed Aug 20, 2024
1 parent ae31c83 commit f00720c
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/algorithmProblems/programmers/LV3_N으로_표현.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class Solution {
fun solution(N: Int, number: Int): Int {
var answer = 0
val dp=Array(9){mutableSetOf<Int>()}
dp[1].add(N)
if(N==number) return 1
for(i in 2 .. 8){
for(j in 1 until i){
val left=dp[i-j]
val right=dp[j]
for(l in left){
for(r in right){
val plus=l+r
val minus=l-r
val time=l*r
val div=if(r!=0) l/r else -1
dp[i].apply{
add(plus)
add(minus)
add(time)
if(r!=0) add(div)
}
}
}
dp[i].add(("$N".repeat(i)).toInt())
if(dp[i].contains(number)){
return i
}
}
}


return -1
}
}

0 comments on commit f00720c

Please sign in to comment.