Car Pooling [leetcode]
문제 1094. Car Pooling Medium Example 1: Input: trips = [[2,1,5],[3,3,7]], capacity = 4 Output: false Example 2: Input: trips = [[2,1,5],[3,3,7]], capacity = 5 Output: true Constraints: 1
2022. 1. 7.
거리두기 확인하기 [프로그래머스]
문제 풀이 문제 풀이 자체가 별로 없다. P의 위치를 좌표 평면에서 x=0, y=0 이라고 했을때 맨하튼 거리가 2 이내 인 곳은 총 12 군데로 west ⇒ [-2,0] , [-1,0] southwest ⇒ [-1,-1] south ⇒ [0, -2] , [0, -1] southeast ⇒ [+1, -1] east ⇒ [+2,0], [+1,0] northeast ⇒ [+1,+1] north ⇒ [0,+2], [0+1] northwest ⇒ [-1,+1] 이렇게 총 12개의 공간을 확인해야 한다. 1, 3, 5, 7 번의 공간의 경우 맨하튼 거리가 1인 경우 P가 존재한다면 무조건 False 맨하튼 거리가 2인 경우 P가 존재한다면 중간 공간의 값이 X가 아니라면 무조건 False 2, 4, 6, 8 번의..
2021. 11. 29.
땅따먹기 [프로그래머스]
문제 풀이 어... 처음에는 dp처럼 이전 계산 결과를 다 저장한다음에 마지막에 경로값을 쓰는? 문제인줄 알았으나 읽다보다 더 쉬운문제였다. 마지막에 계산 결과중 제일 큰값을 출력하면 되는 문제다. 그렇다면 이전 결과중에 제일 큰값 들만 저장하면서 진행하고, 마지막 결과값중에 제일 큰값을 찾아내면 된다는 얘기다. row의 각 값은 이전 값들과의 계산중 가장 큰값만을 저장하면 된다. [1, 2, 3, 5] [5, 6, 7, 8] → 이 단계에서 계산을 보면 (자신의 index와 같은 index는 피해서) 5 → [5+2, 5+3, 5+5] → max=10 6 → [6+1, 6+3, 6+5] → max=11 7 → [7+1, 7+2, 7+5] → max=12 8 → [8+1, 8+2, 8+3] → max=1..
2021. 11. 26.