목록코딩테스트 풀이/프로그래머스 (11)
Simple&Natural
풀이과정) 우리가 흔히 노가다라고 하는 걸 알고리즘에서는 '완전탐색' 이라는 좋은 용어로 포장한다. 사용언어 : Kotlin 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 fun solution(brown: Int, red: Int): IntArray { var answer = intArrayOf() for(i in 1..red) { if(red%i==0) { var redVert = i var redHor = red/i var brownVert = redVert+2 var brownHor = redHor+2 if(((brownHor+brownVert)*2-4)==brown) { answer = intArrayOf(brownHor, br..
풀이과정) 그냥 두 배열을 정렬한 다음 차례대로 비교하면서 일치하지 않는 부분을 골라내면 된다. 사용언어 : Javascript 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 function solution(participant, completion) { var answer = ''; participant.sort(); completion.sort(); for(var prop in participant) if(participant[prop]!=completion[prop]) { answer = participant[prop]; break; } return answer; } Colored by Color Scripter cs 출처 : https://programmers.co.kr/learn/..
풀이과정) 일반적인 재귀를 이용하면 스택오버가 발생하므로 꼬리재귀 함수를 이용해야 한다. 사용언어 : Kotlin 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { tailrec fun fibNum(n: Int, a: Int, b: Int): Int { if (n==1) return b else if (n==0) return a return if((a+b)/1234567>=1) fibNum(n-1, b, (a+b)%1234567) else fibNum(n-1, b, a+b) } fun solution(n: Int): Int { return fibNum(n, 0, 1) } } Colored by Color Scripter cs 출처 : https://progr..