-
728x90
class Solution { fun solution(brown: Int, yellow: Int): IntArray { var answer = mutableListOf<Int>() var ylist = mutableListOf<Int>() for(i in 1 .. yellow){ if(yellow % i == 0) ylist.add(i) } var temp = ylist.size-1 for(i in 0 .. ylist.size-1){ if( (ylist[i]+2) * (ylist[temp]+2) == brown+yellow){ answer.add(ylist[temp]+2) answer.add(ylist[i]+2) break } else temp-- } return answer.toIntArray() } }
해당 문제는 처음에 어떤한 방식으로 풀어야 하지? 라고 생각하면서 손으로 경우의 수를 따져 보니 yellow 의 수를 생각해보면 답이 나오는 공식이 보이게 되어 해결 할 수 있었던 문제 입니다.
현재 저의 실력으로 작성하였으며, 최선의 코드는 아닐 수 있습니다.
'프로그래머스' 카테고리의 다른 글
예상 대진표 (0) 2022.09.26 N개의 최소공배수 (0) 2022.09.26 [프로그래머스][Kotlin]JadenCase 문자열 만들기 (0) 2022.09.16 이진 변환 반복하기 (0) 2022.09.16 최댓값과 최솟값 (0) 2022.09.16