반응형
문제 출처: https://www.acmicpc.net/problem/1783
1. 문제 접근방식
- 몇가지 경우의 수를 생각하며 규칙을 찾아보았다. N의 경우 1, 2 & 3이상일 경우로 나눌 수 있으며 M은 7을 기준으로 경우의 수가 나뉘게 된다. 이는 이동 횟수가 4번 이상일 경우 이동방법을 4가지 모두 다 사용해야하기 때문이다.
2. 내가 푼 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class boj1783 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
if (N == 1) {
System.out.println(1);
} else if (N == 2) {
System.out.println(Math.min(4, (M+1)/2));
} else if (M < 7) {
System.out.println(Math.min(4, M));
} else {
System.out.println(M-2);
}
}
}
3. 결과 및 느낀점
- 처음 생각하는 과정은 막막했으나 역시 적어가면서 하면 가능하다는....
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 7785 JAVA (0) | 2021.08.17 |
---|---|
[Baekjoon/백준] 11656 JAVA (0) | 2021.08.15 |
[Baekjoon/백준] 20291 JAVA (0) | 2021.08.12 |
[Baekjoon/백준] 20114 JAVA (0) | 2021.08.11 |
[Baekjoon/백준] 13413 JAVA (0) | 2021.08.10 |