본문 바로가기
반응형

Algorithms119

[알고리즘] 마법사 상어와 파이어스톰 포인트 음.. 시간을 재면서 풀었는데, 가끔이 신이 들린 것처럼 생각하도 않고 코딩을 한 것 같습니다. 이렇게 중간마다 희망을 주면 빠르게 포기를 못해요 ㅠㅠ 문제는 정말 심플합니다. L을 준다. 90도 시계 방향으로 회전한다. 근접 얼음을 계산해 준 후 반영 최종 얼음의 개수와 가장 큰 덩어리를 출력 설계를 하는 것도 중요하지만, "중간마다 만든 기능의 허점이 있는지?"를 아는 것도 매우 중요한 것 같습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python from collections import deque from copy import deepcopy import sys sys.stdin = open('input.txt') n, q = map(int, input().split().. 2021. 4. 18.
[알고리즘] Remove All Adjacent Duplicates in String II 포인트 중복되는 문자 (K 횟수를 반복하는 문자) 를 어떻게 제거를 해 나갈 수 있는가?를 묻는 문제입니다. 저는 처음 생각을 할때, 무한으로 반복을 해나가면서 없을 때까지, find(), replace() 를 하는 방법으로 사용하려고 했으나 생각보다 힘듬을 느꼈습니다. 그래서 스택에 카운트를 같이 저장하는 방식으로 변경하여 처리했습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def removeDuplicates(self, s, k): stack = [] for char in s: if stack and stack[-1][0] == char: stack[-1][1] += 1 if stack[-1][1] == k: stack.pop() else: .. 2021. 4. 16.
[알고리즘] 프로세서 연결하기 포인트 혼란한 문제입니다. 밑줄이 쳐져 있는 부분이 제일 중요한 포인트입니다. 최대한 많은 전원을 연결해야 하지만 그렇지 못할 경우를 고려해 줄 수 있어야 합니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python dx = [0, 1, -1, 0] dy = [1, 0, 0, -1] def cancel(row: int, col: int, dir: int, plus: int) -> None: """ # 시작점으로 부터 설치한 선 제거하기 :param row: :param col: :param dir: :param plus: """ nx = row + dx[dir] ny = col + dy[dir] for _ in range(plus): data[nx][ny] = 0 nx += dx[dir].. 2021. 4. 15.
[알고리즘] 원판 돌리기 포인트 생각보다 까다롭지만 문제 자체는 이해하는 것이 그렇게는 어렵지 않으면서도 구현은 어려운? 무슨 말이지? 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python from collections import deque dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] def bfs(row: int, col: int) -> int: """ 같은 숫자, 방문하지 않는 곳, y는 범위 넘어가면 넘겨주기 :param row: :param col: :return: """ q = deque() q.append([row, col]) count = 0 while q: x, y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i].. 2021. 4. 14.
반응형