문제 : boj6581
결국엔 문제에서 제시된대로 구현하면 되긴..하는데.. 좀 까다롭긴하다.
그래도 뭐 해설을 할 부분은 딱히 없는 것 같다. 문제의 조건대로 구현만 하면 되긴하니.
특히 주의할 점이라면 각 줄의 끝에 공백문자가 있으면 안된다. 즉, 'abc ' 이러면 안되고 'abc' 이래야 한다. 이것 때문에 좀 헤맸다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
int idx = 0;
StringBuilder sb = new StringBuilder();
private void br() {
sb.append('\n');
idx = 0;
}
private void hr() {
if (idx != 0) br();
for (int i = 0; i < 80; i++) sb.append('-');
sb.append('\n');
idx = 0;
}
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "";
ArrayList<String> arr = new ArrayList<>();
while ((s = br.readLine())!=null) {
StringTokenizer st = new StringTokenizer(s, " \t\n");
while (st.hasMoreTokens())
arr.add(st.nextToken());
}
for (String cur : arr) {
if (cur.equals("<br>")) {
br();
continue;
}
if (cur.equals("<hr>")) {
hr();
continue;
}
if (idx+cur.length()+(idx==0?0:1)>80) {
idx = 0;
br();
}
if (idx != 0) sb.append(' ');
sb.append(cur);
idx+=cur.length()+(idx==0?0:1);
}
br();
System.out.print(sb);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 23810 - 골뱅이 찍기 - 뒤집힌 ㅋ (boj java) (0) | 2022.07.16 |
---|---|
[자바] 백준 23805 - 골뱅이 찍기 - 돌아간 ㄹ (boj java) (0) | 2022.07.15 |
[자바] 백준 23811 - 골뱅이 찍기 - ㅌ (boj java) (0) | 2022.07.13 |
[자바] 백준 11648 - 지속 (boj java) (0) | 2022.07.12 |
[자바] 백준 9288 - More Dice (boj java) (0) | 2022.07.11 |
댓글