ascode 1135 追羊 #2

1 분 소요

문제 설명

외딴 섬에서 양을 키우며 살고 있는 농부 민곤. 어느 날 민곤의 가혹한 훈련을 견디지 못하고 결국 양 한 마리가 도망치고 말았다. 양 한 마리가 매우 아쉬운 민곤이는 이웃에 살고 있는 양잡이의 달인 준희에게 양의 위치를 알아내 달라고 부탁하였다. 그런데 민곤이는 준희에게 넘겨 받은 도망친 양의 위치를 나타내는 내용이 너무 복잡하여 이해할 수가 없었다. 민곤이를 도와 양의 위치를 알아낼 수 있는 프로그램을 작성해 보자. 민곤이가 관심을 가지고 있는 것은 오직 민곤이의 집 위치에서 가로, 세로 방향으로 얼마나 떨어진 곳에 그 양이 있는가 하는 것이다.

입력 설명

첫 줄에는 테스트케이스 T가 입력된다. (1 ≤ T ≤ 20)

각 테스트케이스에 대해서 첫 줄에 민곤이의 집 위치가 (x, y)좌표로 입력된다. ( -10 ≤ x, y ≤ 10) 다음 줄에는 민곤이의 집을 기준으로 양의 위치가 어디인지를 알려줄 문자열이 입력된다. 입력되는 문자열은 모두 대문자이다. (문자열의 길이는 1이상 100이하이다.) 입력되는 문자의 의미는 다음과 같다. L: 왼쪽( x 좌표가 하나 감소) R: 오른쪽( x 좌표가 하나 증가) U: 위쪽( y 좌표가 하나 증가) D: 아래쪽( y 좌표가 하나 감소)

출력 설명

각 테스트케이스별로 민곤이의 집을 기준으로 가로, 세로 방향으로 얼마를 이동해야 양이 있는지를 확인할 수 있는 가로 이동 값, 세로 이동 값을 한줄에 하나씩 출력한다. 가로 방향에서 왼쪽으로 가야하는 경우에는 - 값으로 거리를 표현하고, 오른쪽으로 가야하는 경우에는 거리값을 숫자로만 표시한다. 또한, 세로 방향에서 아래쪽으로 가야하는 경우에는 - 값으로 거리를 표현하고, 윗쪽으로 가야하는 경우에는 거리값을 숫자로만 표시한다.

입력 예시

2
-3 7
LRUURRDLDRDUL
10 10
LLRRRRRRRRRRRRRRRRRRRRRRD

출력 예시

1 0
20 -1

코드

#include <stdio.h>
#include <string.h>

int main() {
    int a,result = 0;
    int x, y;
    char arr[101];
    scanf("%d", &a);
    for (int i = 0; i < a; i++)
    {
        scanf("%d %d", &x, &y);
        // 속임수 ^^
        x = 0, y = 0;
        scanf("%s", &arr);
        for (int i = 0; i < strlen(arr); i++)
        {
            switch (arr[i])
            {
            case 'L':
                x--;
                break;
            case 'R':
                x++;
                break;
            case 'U':
                y++;
                break;
            case 'D':
                y--;
                break;
            default:
                break;
            }
        }
        printf("%d %d\n", x, y);
    }
    return 0;
}

나 : say

속임수는 나빠!

댓글남기기