일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 순열
- 홈화면
- 매일11시
- 안드로이드
- itertools
- 뒤로가기
- 파이썬
- 코테
- 6603
- lcm
- Python
- 코틀린
- 9095
- 11057
- 나머지
- expo
- LCS
- 괄호
- 1182
- 11054
- 백준
- 최소공배수
- 11053
- Combination
- Kotlin
- Android
- permutation
- 11기
- 앱
- 1260
Archives
- Today
- Total
황소개발자
백준 14499 파이썬 python : 주사위 굴리기 @@황소처럼 우직하게@@ 깔끔하게 풀기 본문
반응형
import sys
input = sys.stdin.readline
mat = []
n, m, y, x, k = map(int, input().split())
for i in range(n):
mat.append(list(map(int, input().split())))
orders = list(map(int, input().split()))
class Dice:
def __init__(self):
self.west = 0
self.north = 0
self.east = 0
self.south = 0
self.up = 0
self.down = 0
def go_south(self):
self.north, self.up, self.south, self.down = self.down, self.north, self.up, self.south
def go_north(self):
self.north, self.up, self.south, self.down = self.up, self.south, self.down, self.north
def go_west(self):
self.west, self.up, self.east, self.down = self.up, self.east, self.down, self.west
def go_east(self):
self.west, self.up, self.east, self.down = self.down, self.west, self.up, self.east
def set_down(self, down):
self.down = down
def get_down(self):
return self.down
def get_up(self):
return self.up
def moving(y, x):
if mat[y][x] == 0:
mat[y][x] = dice.get_down()
else:
dice.set_down(mat[y][x])
mat[y][x] = 0
print(dice.get_up())
dice = Dice()
for order in orders:
if order == 1: # east
if x < m - 1:
x = x + 1
dice.go_east()
moving(y, x)
elif order == 2: # west
if x > 0:
x = x - 1
dice.go_west()
moving(y, x)
elif order == 3: # NORTH
if y > 0:
y = y - 1
dice.go_north()
moving(y, x)
elif order == 4: # south
if y < n - 1:
y = y + 1
dice.go_south()
moving(y, x)
문제 딱 보면 막막한데, 객체화시켜서 풀겠다 생각하면 어렵지않습니다.
Dice 클래스에서 좌로 우로 굴리는거 다 고려해주고 구현해줍니다.
그리고 문제에서는 인풋값을 x, y 순서로 받으라고 했지만 y, x로 받았습니다.
반응형
'백준 문제 풀이' 카테고리의 다른 글
백준 1182 파이썬 python : 부분수열의 합 @@황소처럼 우직하게@@ (0) | 2020.02.26 |
---|---|
백준 2504 파이썬 python : 괄호의 값 @@황소처럼 우직하게@@ 원리를 알면 참 재밌는 문제 (0) | 2020.02.26 |
백준 13458 파이썬 python : 시험감독 @@황소처럼 우직하게@@ (0) | 2020.02.26 |
백준 7568 파이썬 python : 덩치 @@황소처럼 우직하게@@ (0) | 2020.02.23 |
백준 2231 파이썬 python : 분해합 @@황소처럼 우직하게@@ (0) | 2020.02.23 |
Comments