다이나믹프로그래밍
-
프로그래머스 땅따먹기 c++ 풀이 Level 2 연습문제 땅따먹기 문제 정리 땅따먹기의 땅은 총 N행 4열 모든 칸에는 점수가 있다. 1행부터 땅을 밟으며 한 행씩 내려오며, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 한다. 단, 한 행씩 내려올 떄, 같은 열을 연속해서 밟을 수 없다. 마지막 행 까지 내려왔을 때, 얻을 수 있는 점수의 최대값으 구하여라. 문제 접근 DP??? 백준의 진우의 달 여행(Large) 문제와 비슷한 방식이라고 생각했습니다. 우선 dfs로 풀어보았습니다. 효율성 테스트도 있어서 시간초과 발생!!! 그래서 이번에는 풀이를 머릿속에 넣고 dp로 접근했습니다. 풀이가 잘 기억이 나지 않아 달 여행 문제 풀이를 보고 손으로 정리해보았습니다. 3차원 배열을 만들어서 [이전 col][현..
[DP] 프로그래머스 level2 땅따먹기 c++ 풀이프로그래머스 땅따먹기 c++ 풀이 Level 2 연습문제 땅따먹기 문제 정리 땅따먹기의 땅은 총 N행 4열 모든 칸에는 점수가 있다. 1행부터 땅을 밟으며 한 행씩 내려오며, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 한다. 단, 한 행씩 내려올 떄, 같은 열을 연속해서 밟을 수 없다. 마지막 행 까지 내려왔을 때, 얻을 수 있는 점수의 최대값으 구하여라. 문제 접근 DP??? 백준의 진우의 달 여행(Large) 문제와 비슷한 방식이라고 생각했습니다. 우선 dfs로 풀어보았습니다. 효율성 테스트도 있어서 시간초과 발생!!! 그래서 이번에는 풀이를 머릿속에 넣고 dp로 접근했습니다. 풀이가 잘 기억이 나지 않아 달 여행 문제 풀이를 보고 손으로 정리해보았습니다. 3차원 배열을 만들어서 [이전 col][현..
2020.07.04 -
BOJ 17485번 진우의 달 여행(Large) 문제 자바(java) 풀이 랭크 : 골드5 백준 17485번 진우의 달 여행(Large) 문제정리 지구와 우주 사이는 NxM 행렬로 나타낼 수 있다. 각 원소의 값은 우주선이 그 공간을 지날 때 소모되는 연료의 양이다. 지구->달로 가는 경우 왼쪽 아래, 아래, 오른쪽 아래 3가지의 방향으로만 이동 가능하다. 같은 방향으로 두번 연속 움직일 수 없다. 연료를 최대한 아끼며 지구의 어느위치에서든 출발하여 달의 어느위치든 착륙해야한다. 달에 도달하기 위해 필요한 연료의 최소값을 계산하자. 문제풀이 데이터의 크기가 크기 때문에 Dynamic Programming(DP) 기법을 적용해서 풀어야 합니다. dfs로 풀게 되면 시간초과가 나오게 됩니다. 3차원 배열을 ..
[BOJ] 17485번 진우의 달 여행(Large) 자바 풀이 (다이나믹 프로그래밍)BOJ 17485번 진우의 달 여행(Large) 문제 자바(java) 풀이 랭크 : 골드5 백준 17485번 진우의 달 여행(Large) 문제정리 지구와 우주 사이는 NxM 행렬로 나타낼 수 있다. 각 원소의 값은 우주선이 그 공간을 지날 때 소모되는 연료의 양이다. 지구->달로 가는 경우 왼쪽 아래, 아래, 오른쪽 아래 3가지의 방향으로만 이동 가능하다. 같은 방향으로 두번 연속 움직일 수 없다. 연료를 최대한 아끼며 지구의 어느위치에서든 출발하여 달의 어느위치든 착륙해야한다. 달에 도달하기 위해 필요한 연료의 최소값을 계산하자. 문제풀이 데이터의 크기가 크기 때문에 Dynamic Programming(DP) 기법을 적용해서 풀어야 합니다. dfs로 풀게 되면 시간초과가 나오게 됩니다. 3차원 배열을 ..
2020.02.26 -
안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
[백준 알고리즘, 다이나믹 프로그래밍] 삼성 코딩 테스트 문제 기출 :: 14501번 퇴사 자바 풀이안녕하세요 호호만두에요 이번에 풀어볼 문제는 삼성 코테 문제인 14501번 문제에요 이는 백준 온라인 저지에서 풀어볼 수 있어요!!! https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 이 문제는 다른 시뮬레이션 문제들 보다는 금방 풀었어요 난이도가 그렇게 높지도 않아서 풀만해요 저는 푸는데 정확히 재지는 않았지만 2시간 조금 넘게 걸린것 같아요 휴... 정말 귀신 처럼 빨리 풀기는 너무 힘든것 같아요 1. N+1일쨰 되는날 퇴사를 한다 2. 하루에 하나씩 상담을 잡아서 스케줄이 있다. 3. 상담 하나를 하고 있으면 다른 상담을 동시에 진행하지 못한다. 우선 끝 쪽에 즉, 퇴사 직전에..
2019.10.26