문제 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 지도의 위, 아래를 더하면서 경우의 수를 구할 것이라서 윗줄 왼쪽줄이 한줄씩 더 필요함 m+1, n+1 배열생성 웅덩이는 -1로 초기화 웅덩이를 지날때는 0으로 다시 초기화 -> 추후 계산에 영향을 끼치지 않기 위함 위,왼쪽 배열을 더하면서 마지막 도착지의 결과값 반환 초반에는 웅덩이를 셋팅하지 않고 반복문에서 같은 것을 발견해줄 경우 제거하는 형식으로 진행하였으나 실패 코드 #등굣길 ..
문제 https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이 끝나는 날 기준으로 얻을 수 있는 금액을 입력 - 끝나는 날 기준이기때문에 N+1일까지 반복 상담일자와 상담기간을 더했을 때 퇴사 일자를 넘어가면 continus 이전의 저장된 k의 값과 dp[i] 중 비교하여 큰 것으로 갱신 dp[i] 는 현재까지의 수익 + 이번 상담 수익 vs 오늘의 상담이 끝나는 시점의 수익 중 큰 값 저장 T/P 1일 2일 3일 4..
문제 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 첫째 줄에는 지도의 세로의 크기 M과 가로의 크기 N이 빈칸을 사이에 두고 주어진다. 이어 다음 M개 줄에 걸쳐 한 줄에 N개씩 위에서부터 차례로 각 지점의 높이가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net 풀이 dfs, dp 문제이다. 처음에는 dfs로 풀고자 하였지만 계속해서 시간초과가 났다. dfs탐색만으로 문제를 수행하게 되면 이미 탐색한 곳을 다시 한번 탐색하게 되면서 시간 초과가 나오게 된다. 그래서 탐색 한 곳을 탐색 처리하게 되면 다시 이어서 방문하지 않아 여러가지 경우의 수를 구할 수 없다. 그래서 dp 초기값을 -1로 초기화하고 탐색 시 0으로 초기화해주어 탐색하였다. dp ..