https://www.acmicpc.net/problem/17413
๐ ์๋ฐ๋ก ํธ๋ ๋จ์ด๋ค์ง๊ธฐ 2
๐ ๋ฌธ์ ๊ฐ์
HTML ํ๊ทธ์ ๋จ์ด๊ฐ ์์ฌ ์๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค.
- <tag>๋ก ๊ฐ์ธ์ง ๋ถ๋ถ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๊ณ
- ๋๋จธ์ง ๋จ์ด๋ค์ ๋ค์ง์ด์ ์ถ๋ ฅํด์ผ ํ๋ค.
- ๋จ, ๊ณต๋ฐฑ ๋จ์๋ก๋ง ๋จ์ด๋ฅผ ๋๋๋ฉฐ, ํ๊ทธ ์์์๋ ๋ฌธ์๋ฅผ ๋ค์ง์ง ์๋๋ค.
๐ก ์์ ์ ๋ ฅ & ์ถ๋ ฅ
์ ๋ ฅ
baekjoon online judge
์ถ๋ ฅ
noojkeab enilno egduj
์ ๋ ฅ
<open>tag<close>
์ถ๋ ฅ
<open>gat<close>
๐ง ์๊ณ ๋ฆฌ์ฆ ์ ๊ทผ ๋ฐฉ์
- ๋ฌธ์์ด์ ํ ๊ธ์์ฉ ์ํํ๋ฉฐ,
- <๊ฐ ๋์ค๋ฉด ํ๊ทธ ์์ → isTag = true
- >๊ฐ ๋์ค๋ฉด ํ๊ทธ ๋ → isTag = false
- ํ๊ทธ ๋ฐ๊นฅ์์๋ ๋จ์ด๋ฅผ StringBuilder์ ์ ์ฅํ๊ณ , ๊ณต๋ฐฑ์ด๋ ํ๊ทธ ์์ ์ ๋ค์ง์ด์ ์ถ๋ ฅ
- ๋ง์ง๋ง์ ๋จ์ ๋จ์ด๋ ๋ค์ง์ด์ ์ถ๋ ฅ
โ ์ ์ฒด ์ฝ๋
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringBuilder result = new StringBuilder();
StringBuilder word = new StringBuilder();
boolean isTag = false;
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (c == '<') {
result.append(word.reverse()); // ๋จ์ ๋จ์ด ๋ค์ง์ด์ ์ถ๊ฐ
word.setLength(0); // ์ด๊ธฐํ
isTag = true;
result.append(c);
} else if (c == '>') {
isTag = false;
result.append(c);
} else if (isTag) {
result.append(c);
} else {
if (c == ' ') {
result.append(word.reverse());
result.append(' ');
word.setLength(0);
} else {
word.append(c);
}
}
}
result.append(word.reverse());
System.out.println(result);
}
}
๐ ์ฝ๋ ํด์ค
์ฝ๋ | ์ค๋ช |
isTag | ํ์ฌ < ํ๊ทธ ๋ด๋ถ์ธ์ง ์ฌ๋ถ |
word | ๋จ์ด๋ฅผ ์์ ์ ์ฅํด์ ๋ค์ง๋ ๋ฐ ์ฌ์ฉ |
result | ์ต์ข ์ถ๋ ฅ ๋ฌธ์์ด ์ ์ฅ |
word.reverse() | ๋จ์ด ์ญ์ ์ถ๋ ฅ |
setLength(0) | StringBuilder ์ด๊ธฐํ ๋ฐฉ์ (๋ ๋น ๋ฆ) |
'Algorithm & Data Structures > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
b11062. ์นด๋ ๊ฒ์ (0) | 2025.06.04 |
---|---|
b1002. ํฐ๋ (0) | 2025.05.31 |
b2644. ์ด์๊ณ์ฐ (0) | 2025.05.31 |
b1068. ํธ๋ฆฌ (0) | 2025.05.31 |
b9328. ์ด์ (0) | 2025.05.21 |