def solution(n, string):
plans = string.split()
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
dir = ["L", "R", "U", "D"]
x, y = 1, 1
for move in plans:
for i in range(4):
if move == dir[i]:
tempx = x + dx[i]
tempy = y + dy[i]
if tempx < 1 or tempy < 1 or tempx > n or tempy > n:
continue
else:
x, y = tempx, tempy
return x, y
def wrong_solution(n):
result = 0
for hour in range(n + 1):
for min in range(60):
for sec in range(60):
# 01시 30분 3o초 반영 안 됨
if hour == 3 or min == 3 or sec == 3:
result += 1
return result
def solution(n):
cnt = 0
for i in range(n + 1):
for j in range(60):
for k in range(60):
if '3' in str(i) + str(j) + str(k):
cnt += 1
return cnt
행국 왕복의 왕실 정원은 체스판과 같은 8X8 좌표 평면
왕실 정원의 특정한 한 칸에 나이트가 서 있음
나이트는 말을 타고 있기 때문에 이동할 때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없음
나이트는 특정한 위치에서 다음과 같은 2가지 경우로 이동 가능
나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수 출력
이때 왕실의 정원에서 행 위치를 표현할 때는 1부터 8로 표현하며, 열 위치를 표현할 때는 a부터 h로 표현함
예를 들어 나이트가 a1에 있을 때 이동할 수 있는 경우의 수는 다음 2가지
def solution(night):
input_data = input()
row = int(input_data[1])
col = int(ord(input_data[0]) - int(ord('a')) + 1)
steps = [(-2, -1), (-1, -2), (1, -2), (2, -1), (2, 1), (1, 2), (-1, 2), (-2, 1)]
result = 0
for step in steps:
next_row = row + step[0]
next_column = col + step[1]
if next_row >= 1 and next_row <= 8 and next_column >= 1 and next_column <= 8:
result += 1
return result
현민이는 게임 캐릭터가 맵 안에서 움직이는 시스템 개발
캐릭터가 있는 장소는 1X1 크기의 정사각형으로 이뤄진 N X M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다임
캐릭터는 동서남북 중 한 곳을 바라봄
맵의 각 칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 개수, B는 서쪽으로부터 떨어진 칸의 개수임
캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없음
캐릭터의 움직임을 설정하기 위해 정해 놓은 매뉴얼
매뉴얼에 따라 캐릭터를 이동시킨 뒤에, 캐릭터가 방문한 칸의 수를 출력
첫째 줄에 맵의 세로 크기 N과 가로 크기 M을 공백으로 구분하여 입력
둘째 줄에 게임 캐릭터가 있는 칸의 좌표 (A, B) 와 바라보는 방향 d가 각각 서로 공백으로 구분하여 주어짐
셋째 줄부터 맵이 육지인지 바다인지에 대한 정보가 주어짐
N개의 줄에 맵의 상태가 북쪽부터 남쪽 순서대로, 각 줄의 데이터는 서쪽부터 동쪽 순서대로 주어짐
처음에 게임 캐릭터가 위치한 칸의 상태는 항상 육지