아이디어
문제의 그림처럼 처음 우측으로 출발한다 하면, 행 방향으로 출발할 때 선을 꺾은 횟수(count)는 0이고, 끝에 부딪혀 방향을 꺾게 되면 count가 1이 되며 열 방향으로 이동한다.
이를 간단히 표현하면
count가 짝수일 때 행 방향으로 이동
-> M이 하나씩 감소
count가 홀수일 때 열 방향으로 이동
-> N이 하나씩 감소
이를 코드로 구현하면 다음과 같다.
import java.util.Scanner;
public class N1952 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int M = scanner.nextInt();
int N = scanner.nextInt();
int count = 0;
while (M != 0 && N != 0) {
switch (curve % 2) {
case 0: {
M--;
count++;
break;
}
case 1: {
N--;
count++;
break;
}
}
}
count--;
System.out.println(count);
}
}
반복문이 끝나고 마지막에 count--를 하는 것은 M과 N이 모두 0이 되어 더이상 커브를 꺾을 필요가 없는데 count가 마지막에 추가돼서 조정해 준 것이다.
저것도 깔끔하게 수정할 수 있을 것 같은데, 간단한 문제라 남겨뒀다.
아직 갈 길이 멀다
// 버퍼는 아직 안배워서 잘 쓸 줄 모른다.
아직 초보라 많이 서툴고 틀린 부분이 있을 수 있습니다. 고수분들께서 조언해주실만한 사항이 있으면 감사히 받겠습니다.
'백준 > Bronze' 카테고리의 다른 글
[브론즈 2] [Java] 백준 10093번: 숫자 (0) | 2025.02.23 |
---|---|
[브론즈 3] [Java] 백준 30958번: 서울사이버대학을 다니고 (1) | 2025.02.22 |
[브론즈 3] [Java] 백준 2576번: 홀수 (0) | 2025.02.21 |
[브론즈 4] [Java] 백준 13136번: Do Not Touch Anything (1) | 2025.02.20 |
[브론즈 1] [Java] 백준 15786번: Send me the money (0) | 2025.02.19 |