[Programmers] Level 2. 빛의 경로 사이클
·
코딩테스트/Python
🔗 Problem Link 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr❔ThinkingS, L, R로 이루어진 격자각 주어질 때, 빛이 조건을 따라 이동하는 경로 사이클의 길이를 오름차순으로 반환한다.S는 진행 방향 그대로, L과 R은 각각 왼쪽과 오른쪽으로 방향을 전환하여 이동한다.빛의 경로 사이클은 빛이 해당 경로를 따라 이동하다가 다시 처음 이동으로 돌아오는것을 말한다.격자의 끝에서는, 경로를 유지한 채 반대쪽 끝으로 다시 돌아간다. 💻Solution1. 초기 풀이 (class 작성)class LightsCycle(): def __init__(self, board:list): ..
[Baekjoon] 1655. 가운데를 말해요
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/1655❔ThinkingN개의 수가 차례대로 주어질 때, 현재까지 숫자들의 중앙값을 출력한다.각 숫자는 -10,000이상 10,000이하의 정수이다.💻Solutionimport sysimport heapqinput = sys.stdin.readlinemax_heap = []min_heap = []N = int(input().rstrip())for _ in range(N): num = int(input().rstrip()) heapq.heappush(max_heap, -num) if max_heap and min_heap and (-max_heap[0] > min_heap[0]): heapq...
[Programmers] Level 2. 당구 연습
·
코딩테스트/Python
🔗 Problem Link 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr❔Thinking칠 당구공의 위치와 맞춰야 하는 당구공의 위치가 주어질 때, 한 번 이상의 쿠션으로 맞추는 최단 거리를 반환한다.당구공이 벽에 맞을 경우, 입사각과 반사각은 같다. (모서리의 경우, 가는 경로 그대로 돌아온다.)당구대의 가로 세로 크기는 1000 이하이며, 맞춰야 하는 당구공은 1000개 이하이다.💻Solutiondef solution(m,n,startX,startY,balls): def dist_calc(x1,y1,x2,y2): return (x1-x2)**2 + (y1-y2)**2 an..
[Baekjoon] 2225. 합분해
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/2225❔Thinking0부터 N까지의 숫자를 중복하여 K개 뽑아서, 합이 N이 되는 경우의 수를 반환한다.계산의 순서가 다르면 다른 경우로 생각한다. (ex - 1+2, 2+1은 다른 경우)💻SolutionN, K = map(int, input().split())a,b = 1,1for i in range(1, K): a *= N + i b *= iprint((a // b) % 1000000000)🗝️keypoint합이 N이어야 하기 때문에, 공 N개를 K-1개의 칸막이로 구분짓는 경우와 같다고 생각할 수 있다.(n-1+r)! // (n-1)! * (r)!  인 중복 조합의 공식에 대입하면 (N+K-1)! ..
[Programmers] Level 2. 지게차와 크레인
·
코딩테스트/Python
🔗 Problem Link 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr❔Thinking컨테이너를 빼내는 요청이 주어질 때, 모든 요청을 수행하고 남은 컨테이너 수를 반환한다.컨테이너는 빼내는 요청은 두가지로 나뉜다.알파벳 1개 : 해당 컨테이너를 지게차로 꺼낸다. 지게차는 외부와 맞닿은 컨테이너만 꺼낼 수 있다.알파벳 2개 : 해당 컨테이너를 크레인으로 꺼낸다. 크레인은 모든 컨테이너를 조건없이 꺼낼 수 있다.💻Solutionfrom collections import dequedef solution(storage, requests): def fork_lift(target:str): ..
[Beakjoon] 1922. 네트워크 연결
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/1922❔Thinking모든 컴퓨터가 연결되어야 할 때, 최소한의 비용을 반환한다.각 컴퓨터를 연결하는 비용이 주어진다.💻Solutionimport sysimport heapqinput = sys.stdin.readlineN = int(input().rstrip())M = int(input().rstrip())lines = []for _ in range(M): a,b,c = map(int, input().split()) heapq.heappush(lines, (c,a,b))def find_parent(x, parent): if x != parent[x]: parent[x] = find_par..