#include<stdio.h>
int main()
{
int input;
scanf("%d", &input);
//int map[100][2];//0:x 1:y
int x = 1;
int y = 1;
char order[2];
for (int i = 0; i <= input; i++)
{
scanf("%s", &order[0]);
if (order[0] == 'L' && x > 1)
x--;
else if (order[0] == 'R' && x < input)
x++;
else if (order[0] == 'U' && y > 1)
y--;
else if (order[0] == 'D' && y < input)
y++;
}
printf("%d %d", y, x);
}
난 이렇게 풀었는데 방향 벡터를 이용해서 푸는 방법이 더 깔끔한 것 같다.
dx[4] = {0, 0, 1, -1};(행)
dy[4] = {1, -1, 0, 0};(열)이렇게 미리 dx값을 넣어주고 동서남북 순으로 인덱스 값을 넣어서 사용하면 코드가 더 깔끔하다.
행과 열이 헷갈린다면
가로가 열
세로가 행이다.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
[비트연산]대소문자 변경을 비트연산으로 해보자. (3) | 2023.01.15 |
---|---|
백준 왕실의 나이트(C) 수학적 풀이, 완전 탐색적 풀 (0) | 2023.01.08 |
백준 (C언어) (구현) 게임개발 -방향벡터 및 맵 탐색 (0) | 2023.01.08 |
[백준 BOJ 10816번] 숫자 카드 2 (C++ ) (0) | 2023.01.08 |
백준 c++백준 1181번 단어정렬 (부제 :c++의 말도 안되는 편리함) (0) | 2023.01.05 |