티스토리 뷰

 

[우리밋의 LAST 보너스 문제]

해당 문제는 이차원 배열의 개념과 원리를 파악하기 위해 "우리밋"이 직접 만든 문제임을 알려드립니다. 
x축과 y축의 개념을 머릿 속에서 자유롭게 조작할 수 있도록 훈련하기 위해 만든 문제입니다.
이 점을 기억하시고 아래 문제를 푸시길 바랍니다.
해당 문제를 배포하시거나 외부에서 사용하실 때는 "우리밋"을 한번씩만 거론 부탁드리겠습니다.
구독만 해주신다면 그것으로 충분합니다.

ps. "내 미래"가 해당 문제 이름입니다. 참고로 전 다녀왔습니다. :)

 

📖question

훈련병인 철수는 교관의 지시에 따라야한다.
교관은 "좌로 1보, 하로 2보 가!"와 같이 좌,우,상,하로 이동할 것을 명령한다.
철수의 현재 위치가 입력으로 주어질 때 교관의 명령대로 이동한 위치는 어디일까?

제한 조건
1. 철수의 현재 위치는 첫 입력 값으로 공백을 두고 입력된다. 
  ex) 1 1 => (0, 0), 5 4 => (4, 3)
2. 훈련소의 전체 공간 크기는 5*5 이다.
3. 교관이 지시한 명령은 절대 훈련소 공간을 벗어나지 않는다.
4. 좌는 왼쪽, 우는 오른쪽, 상은 위쪽, 하는 아래쪽으로 한다.
5. 입력은 좌,우,상,하의 순서대로 공백을 두고 입력된다. 
  ex) 3 2 3 3 => 좌로 2보, 우로 2보, 상으로 3보, 하로 3보 이동.

입력

3 3
1 2 1 3

출력

0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 0

Tip::

  1. 좌표를 (i, j) 라고 볼 때 좌우로 이동은 j(가로축), 상하로 이동은 i(세로축)임을 기억하자.

✍️answer

lotation = [[0 for _ in range(5)] for _ in range(5)]
a, b = map(int, input().split())
l, r, u, d = map(int, input().split())

i, j = (a-l+r, b-u+d)  # 좌표로 변수를 생성할 수 있음
# up은 위이지만, 리스트 번호로 보면 줄어드는 것이므로 -를 씀
# print(i,j) => 4,5
lotation[j-1][i-1] = 1  # 이중 리스트는 행, 열 순서임

for k in lotation:
    print(*k)

'Python > 코드업 기초 100제' 카테고리의 다른 글

15. 2차원 배열 (3)  (0) 2022.05.21
15. 2차원 배열 (2)  (0) 2022.05.20
14. 1차원 배열(3)  (0) 2022.05.19
14. 1차원 배열 (2)  (0) 2022.05.17
14. 1차원 배열(1)  (0) 2022.05.16
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday