상하좌우-[이것이 취업을 위한 코딩 테스트다]

2023. 9. 4. 13:58·코딩테스트/이것이취업을위한코딩테스트다[Python]

📖문제

 여행가 A는 N x N 크기의 정사각형 공간 위에 서 있다. 이 공간은 1 x 1 크기의 정사각형으로 나누어져 있다. 가장 왼쪽 위 좌표는 (1, 1)이며, 가장 오른쪽 아래 좌표는 (N, N)에 해당한다. 여행가 A는 상, 하, 좌, 우 방향으로 이동할 수 있으며, 시작 좌표는 항상 (1, 1)이다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여있다.
 계획서에는 하나의 줄에 띄어쓰기를 기준으로 하여 L, R, U, D 중 하나의 문자가 반복적으로 적혀있다. 각 문자의 의미는 다음과 같다.

  • L : 왼쪽으로 한 칸 이동
  • R : 오른쪽으로 한 칸 이동
  • U : 위로 한 칸 이동
  • D : 아래로 한 칸 이동

  이때 여행가 A가 N x N 크기의 정사각형 공간을 벗어나는 움직임은 무시된다.
계획서가 주어졌을 때 여행가 A가 최종적으로 도착할 지점의 좌표를 출력하는 프로그램을 작성하시오

입력 조건

  • 첫째 줄에 공간의 크기를 나타내는 N이 주어진다. (1 <= N <= 100)
  • 둘째 줄에 여행가 A가 이동할 계획서 내용이 주어진다.
    (1 <= 이동 횟수 <= 100)

출력 조건

  • 첫째 줄에 여행가 A가 최종적으로 도착할 지점의 좌표(X, Y)를 공백으로 구분하여 출력한다.

My answer

import sys
input=sys.stdin.readline

n=int(input())
dir=list(input().split())

start_r,start_c=0,0

for i in dir:
    if(i=='L' and start_r>0):
        start_r-=1
    elif(i=='R' and start_r<n-1):
        start_r+=1
    elif(i=='U' and start_c>0):
        start_c-=1
    elif(i=='D' and start_c<n-1):
        start_c+=1
print(start_c+1,start_r+1)

Another answer

# N 입력받기
n = int(input())
x, y = 1, 1
plans = input().split()

# L, R, U, D에 따른 이동 방향
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
move_types = ['L', 'R', 'U', 'D']

# 이동 계획을 하나씩 확인
for plan in plans:
    # 이동 후 좌표 구하기
    for i in range(len(move_types)):
        if plan == move_types[i]:
            nx = x + dx[i]
            ny = y + dy[i]
    # 공간을 벗어나는 경우 무시
    if nx < 1 or ny < 1 or nx > n or ny > n:
        continue
    # 이동 수행
    x, y = nx, ny

print(x, y)

구현 문제로, 간단한 문제였다. 단순하게 주어진 대로 시행하면서 밖으로 나가는 경우만 예외처리해주면 됐다.

 

728x90

'코딩테스트 > 이것이취업을위한코딩테스트다[Python]' 카테고리의 다른 글

왕실의 나이트-[이것이 취업을 위한 코딩 테스트다]  (0) 2023.09.04
1이 될 때까지-[이것이 취업을 위한 코딩 테스트다]  (0) 2023.09.04
숫자 카드 게임-[이것이 취업을 위한 코딩 테스트다]  (0) 2023.09.04
큰 수의 법칙-[이것이 취업을 위한 코딩 테스트다]  (0) 2023.09.04
시각-[이것이 취업을 위한 코딩 테스트다]  (0) 2023.09.04
'코딩테스트/이것이취업을위한코딩테스트다[Python]' 카테고리의 다른 글
  • 1이 될 때까지-[이것이 취업을 위한 코딩 테스트다]
  • 숫자 카드 게임-[이것이 취업을 위한 코딩 테스트다]
  • 큰 수의 법칙-[이것이 취업을 위한 코딩 테스트다]
  • 시각-[이것이 취업을 위한 코딩 테스트다]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    dp
    이것이취업을위한코딩테스트다
    백준
    DFS
    이코테
    그리디
    BFS
    이분탐색
    나동빈
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바