•알고리즘(Algorithm )
[백준14503&파이썬] 회전은 모듈러연산을 이용하자
# 문제 백준 14503 로봇청소기 파이썬 풀이 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net # 코드 import sys from collections import deque def print2D(arr): for i in arr : print(i) print() N,M = map(int,sys.stdin.readline().split()) # 로봇 청소기 위치, 바라보는 방향 r,c,d = map(int,sys.stdin.readline().split())..
[백준14499&파이썬] 주사위를 굴릴때의 조건에 대해 생각해보자
# 문제 백준 14499 주사위 굴리기 파이썬 풀이 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net # 코드 import copy import sys def print2D(arr) : for i in arr : print(i) print() RIGHT = 1 LEFT = 2 UP = 3 DOWN = 4 dirs = [ (-1,-1), (0,1), (0,-1),(-1,0),(1,0) ] dice = [0,0,0,0,0,0] # 지도크기, 좌표, 명..
[백준3190&파이썬] 스네이크게임은 deque로 구현이 가능하다.
# 문제 백준 3190 뱀 파이썬 풀이 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net # 코드 import sys from collections import deque def print2D(arr) : for i in arr : print(i) print() LEFT = 'LEFT' RIGHT = 'RIGHT' UP = 'UP' DOWN = 'DOWN' DIR_DEFAULT = (0,1,RIGHT) N = int(sys.stdin.readline().strip()) K = int(sys.stdin.readline(..
[백준1865&파이썬] 플로이드 와샬을 통해 음의 사이클 판단하기
# 문제 백준 1865 웜홀 파이썬 풀이 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net # 코드 import sys from collections import defaultdict def print2D(arr) : for i in arr : print(i) print() TC = int(sys.stdin.readline().strip()) def solve() : # N 지점의 개수, M 도로의 개수, W 월홀의 개수 N,M,W = map(int,sys.stdin.readline().split(..
[백준9935&파이썬] 리스트 슬라이싱은 느리다. 문자열문제는 스택을 생각해보자
# 문제 백준 9935 문자열 폭발 파이썬 풀이 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net # 코드 import sys s = list(sys.stdin.readline().strip()) bomb = list(sys.stdin.readline().strip()) bomb_size = len(bomb) stk = list() clear_cnt = 0 bomb_idx = bomb_size-1 temp = 0 while len(s) != 0: temp +=1 s_poped = s.pop() s..
[백준1043&파이썬] 적절한 자료구조 사용하기, 방문처리를 통해 무한루프에 빠지지 않게 하기
# 문제 백준 1043 거짓말 파이썬 풀이 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net # 코드 import sys from collections import defaultdict from collections import deque def print2D(arr): for a in arr : print(a) # 사람의 수 N, 파티의 수 M N,M = map(int,sys.stdin.readline().split()) # 진실을 아는 사람의 수, 0번인덱스는 총 크기 trues = list(map(int,sys.st..