[알고리즘문제] 프로그래머스 -멀리 뛰기
문제는 한번 읽어서 바로 이해가 안되서 두 세번정도 읽었습니다. 문제에서 남은 작업량, 남은 N시간이 주어지고 야근피로도 구하는 공식(남은 작업량들의 각각 제곱근의 합)이 주어질 때 최소한의 야근 피로도를 구하는 문제 입니다. 단 1시간에 1의 일을 할 수 있습니다. 예를 들어 남은 작업량이 [4,3,3]이고 N시간이 주어졌을 때 4시간 동안일을 했을 때 남은 작업량의 경우의 수는 다음과 같습니다. [4,2,2] [3,0,3] [2,2,2] .... 이 경우에서 야근 피로도를 구해보면 [4,2,2] = 4^2 + 2^2 + 2^2 = 24 [3,0,3] = 3^2 + 0^2 + 3^2 = 18 [2,2,2] = 2^2 + 2^2 + 2^2=12 더 많은 경우가 있겠지만 위의 경우에서 야근 피로도가 최소값..
2020. 2. 8.
[알고리즘문제] 프로그래머스 -멀리 뛰기
효진이는 1칸, 2칸을 이동할 수 있습니다. 이동해야 할 n칸이 주어질 때 1칸, 2칸을 n칸에 도달할 수 있는 방법을 구하면 됩니다. 문제는 보자마자 앞서 이동했던 경우의 수를 사용하여 현재 구하려는 경우의 수를 구할 수 있을 것 같다는 생각을 했습니다. dp를 사용하였고 먼저 각 n마다 이동할 수 있는 경우를 구해보았습니다. 1 : (1) - 1가지 2 : (1,1), (2) - 2가지 3 : (1,1,1), (1,2), (2,1) - 3가지 4 : (1,1,1,1), (1,1,2), (1,2,1), (2,1,1), (2,2) - 5가지 5 : (1,1,1,1,1), (1,1,1,2), (1,1,2,1), (1,2,1,1,), (2,1,1,1), (1,2,2), (2,1,2), (2,2,1) - 8가..
2020. 2. 8.