Minimum Path Sum ☞ 문제링크 크기가 m,n인 2차원 배열의 좌측 상단(0,0)부터, 우측 하단(m-1,n-1) 까지 이동하는데, 이동 경로의 배열 값들을 모두 더하게 되는 경우, 이 값의 최소 값을 구하는 문제입니다. 예시로 들어둔 배열은 아래와 같습니다. 괄호안에는 좌표를 표시했습니다. 1 (0,0) 3 (0,1) 1 (0,2) 1 (1,0) 5 (1,1) 1 (1,2) 4 (2,0) 2 (2,1) 1 (2,2) 각 좌표들의 최소 합은 다음과 같이 구할 수 있습니다.좌표가 0,0 인 경우는 항상 그 좌표의 값과 같습니다. (경우의 수가 1개)좌표가 (0,x) 혹은 (x,0) 처럼 0이 들어가는 경우도 경우의 수가 1개 뿐입니다. 바로 이전의 좌표 값만 더해주면 됩니다. 예를들어 0,1의 ..
Best Time to Buy and Sell Stock ☞ 문제링크 입력값으로 주식(Stock)의 가격이 나오게 되고, 가장 큰 수익을 내게 되는 경우의 수익값을 반환해주면 됩니다. 예를 들어, 입력값이 7,1,5,3,6,4 인 경우 가격1에 사서 6에 파는 경우 수익이 가장 크게 나오게 됩니다. 7인 경우는 1의 과거이기 때문에 1 이후에 나온 값 중에서만 팔아야합니다. 문제풀이 (java) 순차적으로 읽어가며 가장 작은 값이 나온 경우 minPrice를 대체하고, minPrice와 현재 시장가의 차로 수익을 계산 합니다. 수익이 이전까지 계산된 수익보다 큰 경우 대체합니다. 만약 minPrice를 따로 구하지 않고 모든 경우를 계산 하게 되면 정답을 구할 수는 있으나 효율성이 크게 떨어지게 됩니다...