[백준 32964] 재미있는 파이프 퍼즐 [Java]
2025. 7. 30. 16:07ㆍPS 풀이/Baekjoon Online Judge
문제
32964번: 재미있는 파이프 퍼즐
boj.ma
풀이
문제 요약
2 * N 공간에 있는 파이프를 조작해 도착지에 도착할 수 있는지 확인하자.
아이디어
이전 파이프 상태와 현재 영역의 파이프를 비교해 다음 영역이 이동 가능한 영역인지 확인하자.
처음과 마지막은 직접 확인해주고, 1 ~ N - 1 구간은 이전/현재 파이프 상태를 확인해 다음 영역으로 넘어갈 수 있는지 상태를 업데이트 해주자.
// Solve
boolean goUp = true, goDown = (down[0] == 'L');
for (int i = 1; i < N - 1; ++i) {
boolean goUpAndNext = false, goDownAndNext = false;
if (goUp) {
if (up[i] == 'I') {
goUpAndNext = true;
} else if (up[i] == 'L' && down[i] == 'L') {
goDownAndNext = true;
}
}
if (goDown) {
if (down[i] == 'I') {
goDownAndNext = true;
} else if (down[i] == 'L' && up[i] == 'L') {
goUpAndNext = true;
}
}
goUp = goUpAndNext;
goDown = goDownAndNext;
}
// Output
System.out.println(
goDown || goUp && up[N - 1] == 'L' ? "YES" : "NO"
);
}
}
풀이 시간
20분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/normal/32964.java
problem-solving/baekjoon-online-judge/normal/32964.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
'PS 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
| [백준 22993] 서든어택 3 [Java] (0) | 2025.08.01 |
|---|---|
| [백준 03000] 직각 삼각형 [Java] (2) | 2025.07.31 |
| [백준 20916] 안녕 2020 안녕 2021 [Java] (1) | 2025.07.29 |
| [백준 18242] 네모네모 시력검사 [Java] (2) | 2025.07.28 |
| [백준 31671] 특별한 오름 등반 [Java] (3) | 2025.07.27 |