시뮬레이션 46

백준(Python) 14503번 로봇 청소기 풀이

Python으로 구현한 14503번 로봇 청소기 문제 풀이입니다. https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net def solution(x, y, d) : global result if data[x][y] == 0 : data[x][y] = 2 result += 1 for i in range(4) : nd = (d + 3) % 4 nx = x + dx[nd] ny = y + dy[nd] if data[nx][ny] == 0 : solutio..

백준(Python) 13460번 구슬 탈출 2 풀이

Python으로 구현한 13460번 구슬 탈출 2 문제 풀이입니다. https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net from collections import deque n, m = map(int, input().split()) board = [] for i in range(n) : board.append(list(input())) for j in range(m) : if board[i][j] ..

백준(Python) 19237번 어른 상어 풀이

Python으로 구현한 19237번 어른 상어 문제 풀이입니다. https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net n, m, k = map(int, input().split()) # 모든 상어의 위치와 방향 정보를 포함하는 2차원 리스트 array = [] for i in range(n) : array.append(list(map(int, input().split()))) # 모든 상어의 현재 방향 정..

이코테 (파이썬) 어른 상어 풀이

[문제] https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net [풀이] n, m, k = map(int, input().split()) # 모든 상어의 위치와 방향 정보를 포함하는 2차원 리스트 array = [] for i in range(n) : array.append(list(map(int, input().split()))) # 모든 상어의 현재 방향 정보 directions = list(map(in..

백준(Python) 19236번 청소년 상어 풀이

Python으로 구현한 19236번 청소년 상어 문제 풀이입니다. https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net import copy # 4 x 4 크기의 정사각형에 존재하는 각 물고기의 번호(없으면 -1)와 방향 값을 담는 테이블 array = [[None] * 4 for _ in range(4)] for i in range(4) : data = list(map(int, input().split())) # 매 줄마다 4마리..

백준(Python) 16236번 아기 상어 풀이

Python으로 구현한 16236번 아기 상어 문제 풀이입니다. https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net from collections import deque INF = 1e9 # 무한을 의미하는 값으로 10억을 설정 # 맵의 크기 N을 입력받기 n = int(input()) # 전체 모든 칸에 대한 정보 입력 array = [] for i in range(n) : array.append(list(map(int, input().s..

백준(Python) 3190번 뱀 풀이

Python으로 구현한 3190번 뱀 문제 풀이입니다. https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net n = int(input()) k = int(input()) data = [[0] * (n + 1) for _ in range(n + 1)] # 맵 정보 info = [] # 방향 회전 정보 # 맵 정보(사과 있는 곳은 1로 표시) for _ in range(k): a, b = map(int, input().split()) data[a][b] = 1..

백준(Python) 1417번 국회의원 선거 풀이

Python으로 구현한 1417번 국회의원 선거 문제 풀이입니다. https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net n = int(input()) dasom = int(input()) if n = dasom : data = others.index(max(others)) dasom += 1 others[data] -=1 result += 1 print(result) 1. n과 다솜이의 득표수를 입력받은 후, 입력받은 n이 1 이하일 경우..

백준(Python) 22864번 피로도 풀이

Python으로 구현한 22864번 피로도 문제 풀이입니다. https://www.acmicpc.net/problem/22864 22864번: 피로도 첫 번째 줄에 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. (하루는 24시간이다.) 맨 처음 피로도는 0이다. www.acmicpc.net a, b, c, m = map(int, input().split()) day = 0 result = 0 count = 0 if a > m : print(0) else : while day != 24 : day += 1 if count + a = 0 : count -= c else : count = 0 print(result) 1. 초기 피로도는 0이며, 피로도(a)가 번아웃 경계(m)보다 클 경우 일..

백준(Python) 10811번 바구니 뒤집기 풀이

Python으로 구현한 10811번 바구니 뒤집기 문제 풀이입니다. https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net n, m = map(int, input().split()) data = [i for i in range(n + 1)] for _ in range(m) : i, j = map(int, input().split()) value = [] for k in range(i, j + 1) : value.append(data[k]) va..