구현
- 떠올린 아이디어를 코드로 구현하기
1. 완전 탐색
- 모든 경우의 수를 주저 없이 계산하는 해결 방법
2. 시뮬레이션
- 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 방법
예시 - 상하좌우 문제
좌표가 주어지고 이동방향이 주어졌을 때 도착할 지점의 좌표를 출력하는 문제
static int n;
static char[] plans;
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int count = st.countTokens();
plans = new char[count];
for (int i = 0; i < count; i++) {
plans[i] = st.nextToken().charAt(0);
}
int y = 1, x = 1;
// L, R, U, D에 따른 이동 방향
// 이동 계획을 하나씩 확인
for (int i = 0; i < count; i++) {
int ny = y;
int nx = x;
switch(plans[i]) {
case 'L' : nx = nx - 1; break;
case 'R' : nx = nx + 1; break;
case 'U' : ny = ny - 1; break;
case 'D' : ny = ny + 1; break;
}
// 공간을 벗어나는 경우 무시
if (ny < 1 || nx < 1 || ny > n || nx > n) continue;
// 이동 수행
y = ny;
x = nx;
}
System.out.println(y + " " + x);
}
'알고리즘' 카테고리의 다른 글
[Java] 알고리즘 Day6 (0) | 2024.07.04 |
---|---|
[Java] 알고리즘 Day5 (0) | 2024.07.04 |
[Java] 알고리즘 Day3 (0) | 2024.07.02 |
[Java] 알고리즘 Day2 (0) | 2024.07.02 |
[Java] 알고리즘 Day1 (0) | 2024.07.02 |