Programmers / [PCCP 기출문제] 2번 / 석유 시추 / python
·
코딩테스트/programmers (python)
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/250136  나의 풀이from collections import dequedef solution(land): n, m = len(land), len(land[0]) visited = [[False] * m for _ in range(n)] col_oil = [0] * m def bfs(a, b): dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] queue = deque([(a, b)]) visited[a][b] = True size = 0 colu..
Programmers / [PCCP 모의고사 1회] 3번 / 붕대 감기 / python
·
코딩테스트/programmers (python)
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/250137?language=python3 나의 풀이def attack(health, damage, max_health): health -= damage if health   + 함수 하나로 표현한 더 간단한 풀이def solution(bandage, health, attacks): max_health = health count = 0 attack_count = 0 time = 1 while time
Programmers / [PCCP 모의고사 1회] 3번 / 유전법칙 / python
·
코딩테스트/programmers (python)
문제: https://school.programmers.co.kr/learn/courses/15008/lessons/121685 풀이def solution(queries): def find(n, p): if n == 1: return "Rr" parent = find(n-1, (p-1)//4+1) idx = (p-1) % 4 if parent == "RR": return "RR" elif parent == "rr": return "rr" else: return ["RR", "Rr", "Rr", "rr"][idx] return [find(n, ..
백준 / 1717번 / 집합의 표현 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/1717 예제 입력 1 7 80 1 31 1 70 7 61 7 10 3 70 4 20 1 11 1 1예제 출력 1 NONOYES나의 풀이n, m = map(int, input().split())parent = [i for i in range(n+1)]def find(a): if parent[a] == a: return a parent[a] = find(parent[a]) return parent[a]def union(a,b): a, b = find(a), find(b) if a == b: return parent[a] = bdef check(a,b): if parent[a] == pare..
백준 / 2805번 / 나무 자르기 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/2805  문제상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다.목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자...
백준 / 1072번 / 게임 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1072  문제김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시작했다. 의심을 피했다고 생각한 형택이는 다시 게임을 켰다. 그 때 형택이는 잠시 코딩을 하는 사이에 자신의 게임 실력이 눈에 띄게 향상된 것을 알았다.이제 형택이는 앞으로의 모든 게임에서 지지 않는다. 하지만, 형택이는 게임 기록을 삭제 할 수 없기 때문에, 자신의 못하던 예전 기록이 현재 자신의 엄청난 실력을 증명하지 못한다고 생각했다.게임 기록은 다음과 같이 생겼다.게임 횟수 : X이긴 게임 : Y (Z%)Z는 형택이..
백준 / 1890번 / 점프 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1890   문제N×N 게임판에 수가 적혀져 있다. 이 게임의 목표는 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 점프를 해서 가는 것이다.각 칸에 적혀있는 수는 현재 칸에서 갈 수 있는 거리를 의미한다. 반드시 오른쪽이나 아래쪽으로만 이동해야 한다. 0은 더 이상 진행을 막는 종착점이며, 항상 현재 칸에 적혀있는 수만큼 오른쪽이나 아래로 가야 한다. 한 번 점프를 할 때, 방향을 바꾸면 안 된다. 즉, 한 칸에서 오른쪽으로 점프를 하거나, 아래로 점프를 하는 두 경우만 존재한다.가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸으로 규칙에 맞게 이동할 수 있는 경로의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 게임 판의 크기..
백준 / 12719번 / 빗물 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/14719  문제2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까?입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다.출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라.빗물이 전혀 고이지 않을 경우 0을 출력하여라.예제 입력 1 4 43 0 1 4..