[BOJ] 15686. 치킨배달(python)
📌문제 💪아이디어 m개 치킨집 고르기 순서와 중복이 없는 combination을 통해 전체 치킨집 중 m개의 치킨집을 고른다. 치킨 거리 구하기 각 집마다 고른 m개의 치킨집에서 가장 가까운 치킨집과의 거리를 구한다. 도시의 치킨 거리 구하기 🥂코드 import sys; input = ...
📌문제 💪아이디어 m개 치킨집 고르기 순서와 중복이 없는 combination을 통해 전체 치킨집 중 m개의 치킨집을 고른다. 치킨 거리 구하기 각 집마다 고른 m개의 치킨집에서 가장 가까운 치킨집과의 거리를 구한다. 도시의 치킨 거리 구하기 🥂코드 import sys; input = ...
📌문제 💪아이디어 사다리, 뱀 처리 해당 숫자판에 도달하면 사다리나 뱀이 가르키는 숫자판으로 이동한다. 주사위 굴리기 현재 위치에서 주사위를 무작위(1~6)로 굴려 경우의 수를 따진다. 🥂코드 import sys; input = sys.stdin.readline from collections import...
프로그램 vs 프로세스 프로그램은 실행 가능한 파일 (.exe)이고 프로세스는 실행 중인 프로그램이다. 하나의 프로그램에 여러 개의 프로세스가 가능하다. 예를 들어, 한글 프로그램이 하나 깔려있으면 우리는 한글 프로그램을 1개 이상 띄워서 사용할 수 있다. 프로세스 vs 쓰레드 쓰레드는 프로세스 안에서 실제 작업을 수행한다. 프로세스를 공장이라...
📌문제 💪아이디어 입력받은 그래프 간선 연결하기 서로 연결된 간선 체크하기 a와 b가 연결되고 b와 c가 연결된 상태이면 a와 c도 연결된 상태이다. 이를 사용하여 그래프 노드 간의 연결이 됐는지 체크 후 상태를 표시해준다. 🥂코드 import sys; input = sys.stdin.readline n = int(input()) ...
📌문제 💪아이디어 고장난 버튼 체크 고장난 버튼이 없는 경우 버튼고장 처리 과정을 건너뛴다. 버튼 누르기 현재 채널과 목표 채널이 같으면 버튼을 누르지 않아도 된다. 현재 채널과 목표 채널이 다른 경우 리모컨을 사용한다. 숫자 버튼 누르기 목표 채널 숫자에 고장난 버튼의 숫자가 포함되면 건너뛴다...
📌문제 💪아이디어 블록 모양만들기 분홍색 블록을 제외한 모든 블록들은 한붓그리기가 가능하기때문에 분홍색 블록만 따로 처리해 주면 된다. 분홍색 블록: 두번째 블록에서 상하좌우그리고 다시 두번째 블록으로 돌아오기 백트래킹 현재 가장 큰 합(answer)보다 현재 블록모양에 적힌 수의 합 + 남은 블럭 수만...
📌문제 💪아이디어 이중순위 큐 만들기 min heap이나 max heap의 맨 마지막 인덱스의 값이 max, min값이라 생각할 수 있지만 그렇지 않다. 그래서 한 가지 종류의 heap만 가지고는 최대값과 최소값을 다룰 수 없다. 값 체크하기 min heap과 max heap 모두 만들어 중복된 숫자가 입력될 수...
📌문제 💪아이디어 정사각형 내 색 체크 n*n구간 내에 있는 모든 정사각형이 같은 색이어야한다. 가장 첫번째 색을 비교기준으로 색을 비교한다. 모두 같으면 비교하는 색의 갯수 증가 다르면 구간 나누기 색종이 구간 나누기 정사각형 내 모든 색이 같지 않으면 가로, 세로 n/2으로 나눈...
📌문제 💪아이디어 색칠하기 현재 집과 색깔이 겹치지 않기 때문에 이전집에서 색칠한 색깔 중 싼 것으로 칠한다. 🥂코드 import sys; input = sys.stdin.readline n = int(input()) paint = [] for _ in range(n): paint.append(list(map(int,input...
📌문제 💪아이디어 🥂코드 import sys; input = sys.stdin.readline n = int(input()) arr = list(map(int,input().split())) dp = [1]*n for i in range(1,n): for j in range(i): if arr[j]<arr[i]:...