전체 글

말보다는 실천하는 사람
😉 아이디어1. 과제가 진행되는 시간 기준 구현 _!0초 ~ plans의 최대값 * 1_000!_2. 매 초마다 _!now!_에 저장된 과제의 처리시간 감소3. 과제를 멈추고 새로운 과제를 시작할 경우 _!stopped!_리스트에 값 추가    👉 과제가 종료되면 이 리스트에서 꺼내 할당😉 풀이from collections import dequedef solution(plans): for plan in plans: plan[1] = hm_to_ss(plan[1]) plan[2] = mm_to_ss(plan[2]) plan.append(plan[1] + plan[2]) plans.sort(key = lambda x : x[1]) # ..
😉 아이디어1. 투포인터 활용 👉 포인터 사이의 값을 유지 및 관찰, 조건 일치 시 리스트에 저장2. 리스트 정렬 기준 '인덱스의 값 차이(갭)', '첫번째 인덱스'😉 풀이def solution(sequence, k): answer = [] # 투포인터 + 누적합 l = 0 r = 0 lst = [] mx = len(sequence) summ = sequence[l] while l ✔ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/178870?language=python3
😉 아이디어1. _!skill!_적용 값을 일괄처리 후 _!board!_적용 👉 누적합 개념 사용 (카카오 가이드 참고)😉 코드def solution(board, skill): answer = 0 tmp = [[0 for __ in range(len(board[0]) + 1)]for _ in range(len(board) + 1)] for s in skill: # 1: 공격, 2: 회복 typ, s_y, s_x, e_y, e_x, deg = s if typ == 1: tmp[s_y][s_x] += deg tmp[s_y][e_x + 1] -= deg tmp[e_y + 1][s..
😁 아이디어1. BFS를 통해 최단거리를 찾는 방법을 2회에 걸쳐 진행한다.2. 시작점 -> 레버, 레버 -> 끝점3. 2회 동안 카운팅을 반환😁 코드from collections import dequedef solution(maps): answer = 0 arr = [] sPos = [] ePos = [] lPos = [] width = len(maps[0]) height = len(maps) for idx, m in enumerate(maps): lst = list(m) if 'S' in lst: sPos = [idx, lst.index('S')] if 'E' in lst: ..
😄 아이디어1. Y의 최대값 만큼 dp 배열 생성2. 배열 인덱스 == cost 👉 기존 값과 비교해 최소값 반영😄 코드from collections import dequedef solution(x, y, n): MAX_VAL = 1_000_001 dp = [10_000] * MAX_VAL dp[x] = 0 for i in range(x, MAX_VAL): if dp[x] == 10_000: continue if i + n ✔️ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/154538?language=python3
😄 아이디어1. 연결점을 저장한 각 노드 생성2. 그래프 이동 시 시간 저장 배열 생성3. BFS를 통한 탐색 ☝️최단 경로를 찾는 경우는 BFS 활용 명심😄 코드from collections import dequeglobal arr;def bfs(graph, key): global arr visited[key] = 1 q = deque([key]) while q: x = q.popleft() for node in graph[x]: if arr[node] == -1: q.append(node) arr[node] = arr[x] + 1def solution(n, road..
😉 아이디어1. 완성 틱택토 개수, O or X 개수 확인2. 틱택토의 게임이 완성되지 않는 경우의 수 예외처리😉 코드oTic = 0xTic = 0def solution(board): answer = -1 xCnt = 0 oCnt = 0 def checkTic(s): global oTic global xTic if s == 'OOO': oTic += 1 elif s == 'XXX': xTic += 1 for i in range(0, 3): checkTic(board[i]) vertical = board[0][i] + board[1][..
😄 아이디어 1. _!a, b!_ 의 값 중 하나는 내림차순, 남은 하나는 오름차순으로 정렬한다. 👉 코드에서는 a를 내림차순 b를 오름차순 정렬 2. a의 값이 내림차순으로 정렬되고 있기에 탐색 중 갱신되는 _!maxB!_의 값보다 작은 b가 탐색되면 인센티브를 받지 못하는 사원이다. ✔️ 코드 def solution(scores): answer = 1 wanho = scores[0] rs = sorted(scores, key = lambda x: (-x[0], x[1])) maxB = 0 for score in rs: if (score[0] > wanho[0] and score[1] > wanho[1]): return -1 if score[1] >= maxB: maxB = score[1] if wan..
thisisdj
codenextdoor