```
백준 3054번 피터팬 프레임 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 3054번 풀이
https://www.acmicpc.net/problem/3054
3054번: 피터팬 프레임
다섯 줄에 걸쳐, 입력으로 주어진 단어를 피터팬 프레임과 웬디 프레임으로 장식한 결과를 출력한다.
www.acmicpc.net
백준 3054번 피터팬프레임의 경우
난이도 브론즈 등급의 문제로서
알파벳 X의 피터팬 프레임은 아래와 같이 표현하며
..#..
.#.#.
#.X.#
.#.#.
..#..
알파벳 X의 웬디 프레임은 아래와 같이 표현할 때
..*..
.*.*.
*.X.*
.*.*.
..*..
단어가 주어질 때 3의 배수는 웬디 프레임으로
나머지는 피터팬 프레임으로 장식하면 됩니다.
예를 들어서
CATDOGKING이 주어지면
..#...#...*...#...#...*...#...#...*...#..
.#.#.#.#.*.*.#.#.#.#.*.*.#.#.#.#.*.*.#.#.
#.C.#.A.*.T.*.D.#.O.*.G.*.K.#.I.*.N.*.G.#
.#.#.#.#.*.*.#.#.#.#.*.*.#.#.#.#.*.*.#.#.
..#...#...*...#...#...*...#...#...*...#..
위와 같이 표현됩니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
브론즈 문제여서 간단하게 설명하자면
단어를 입력받고
입력받은 단어에 글자 수에 따라서
5줄에 표시할 내용을 추가해주고
출력해주면 됩니다.
중간에 웬디 프레임이 피터팬 프레임보다 더 우선순위가 높기 때문에
중간줄에 prevSymbol이라는 변수를 만들어서 처리했습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] outputStrArr = {"", "", "", "", ""};
int cnt = 1;
char symbol = '#';
char[] charArr = br.readLine().toCharArray();
final int charArrLen = charArr.length;
for (char c : charArr) {
char prevSymbol = '*';
if (cnt % 3 == 0) {
symbol = '*';
cnt = 1;
} else {
if (symbol != '*') {
prevSymbol = '#';
}
symbol = '#';
cnt++;
}
outputStrArr[0] += ".." + symbol + ".";
outputStrArr[1] += "." + symbol + "." + symbol;
outputStrArr[2] += prevSymbol + "." + c + ".";
outputStrArr[3] += "." + symbol + "." + symbol;
outputStrArr[4] += ".." + symbol + ".";
}
if (charArrLen > 0) {
outputStrArr[0] += ".";
outputStrArr[1] += ".";
outputStrArr[2] += symbol;
outputStrArr[3] += ".";
outputStrArr[4] += ".";
for (String line : outputStrArr) {
System.out.println(line);
}
}
}
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 20001번 고무오리 디버깅 JAVA 구현해보기 (0) | 2021.12.03 |
|---|---|
| 백준 16435번 스네이크버드 JAVA 구현해보기 (0) | 2021.12.01 |
| 백준 20299번 3대측정 JAVA 구현해보기 (0) | 2021.11.20 |
| 백준 20361번 일우는야바위꾼 JAVA 구현해보기 (1) | 2021.11.20 |
| 백준 1063번 킹 JAVA 구현해보기 (0) | 2021.11.14 |