๋ฌธ์
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋ฌธ์์ด์์ ๋จ์ด๋ง ๋ค์ง์ผ๋ ค๊ณ ํ๋ค.
๋จผ์ , ๋ฌธ์์ด S๋ ์๋์๊ณผ ๊ฐ์ ๊ท์น์ ์งํจ๋ค.
- ์ํ๋ฒณ ์๋ฌธ์('
a
'-'z
'), ์ซ์('0
'-'9
'), ๊ณต๋ฐฑ(' '), ํน์ ๋ฌธ์('<
', '>
')๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค. - ๋ฌธ์์ด์ ์์๊ณผ ๋์ ๊ณต๋ฐฑ์ด ์๋๋ค.
- '
<
'์ '>
'๊ฐ ๋ฌธ์์ด์ ์๋ ๊ฒฝ์ฐ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋ฑ์ฅํ๋ฉฐ, '<
'์ด ๋จผ์ ๋ฑ์ฅํ๋ค. ๋, ๋ ๋ฌธ์์ ๊ฐ์๋ ๊ฐ๋ค.
ํ๊ทธ๋ '<
'๋ก ์์ํด์ '>
'๋ก ๋๋๋ ๊ธธ์ด๊ฐ 3 ์ด์์ธ ๋ถ๋ถ ๋ฌธ์์ด์ด๊ณ , '<
'์ '>
' ์ฌ์ด์๋ ์ํ๋ฒณ ์๋ฌธ์์ ๊ณต๋ฐฑ๋ง ์๋ค. ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์์ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ถ๋ถ ๋ฌธ์์ด์ด๊ณ , ์ฐ์ํ๋ ๋ ๋จ์ด๋ ๊ณต๋ฐฑ ํ๋๋ก ๊ตฌ๋ถํ๋ค. ํ๊ทธ๋ ๋จ์ด๊ฐ ์๋๋ฉฐ, ํ๊ทธ์ ๋จ์ด ์ฌ์ด์๋ ๊ณต๋ฐฑ์ด ์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S์ ๊ธธ์ด๋ 100,000 ์ดํ์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S์ ๋จ์ด๋ฅผ ๋ค์ง์ด์ ์ถ๋ ฅํ๋ค.
์๊ฐ ์ ํ | ๋ฉ๋ชจ๋ฆฌ ์ ํ | ์ ์ถ | ์ ๋ต | ๋งํ ์ฌ๋ | ์ ๋ต ๋น์จ |
---|---|---|---|---|---|
1 ์ด | 512 MB | 27238 | 15339 | 11856 | 56.809% |
https://www.acmicpc.net/problem/17413 |
ํ์ด
์ฝ๋
/*
1. < > ํ๊ทธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋๋ค.
2. ' ' ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋๋ค.
*/
public class ๋จ์ด๋ค์ง๊ธฐ2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String S = br.readLine();
StringBuilder sb = new StringBuilder();
boolean tag = false; //๊บฝ์ ๊ฐ ์ผ๋ ธ๋์ง ๋ซํ๋์ง ํ๋ณ
Stack<Character> stack = new Stack<>(); //ํ์
์ ์ถ
for (int i = 0; i < S.length(); i++) {
//๊บฝ์ ๋ฅผ ๋ง๋๋ฉด stack์ด ๋น์ด์์ง ์์ผ๋ฉด ๋ชจ๋ ์์๋ฅผ ๊บผ๋ด๊ณ tag๋ฅผ true๋ก
if (S.charAt(i) == '<') {
while (!stack.isEmpty()) {
sb.append(stack.pop());
}
tag = true;
} else if (S.charAt(i) == '>') {
tag = false;
sb.append(S.charAt(i));
continue;
}
//tag๊ฐ true์ธ ๊ฒฝ์ฐ
if (tag) {
sb.append(S.charAt(i));
//tag๊ฐ false์ธ ๊ฒฝ์ฐ
} else if (!tag) {
if (S.charAt(i) == ' ') { //๊ณต๋ฐฑ์ ๋ง๋๋ฉด ๋ชจ๋ ์์๋ฅผ popํ ํ์ ๊ณต๋ฐฑ์ ์ถ๊ฐํ๋ค.
while (!stack.isEmpty()) {
sb.append(stack.pop());
}
sb.append(' ');
continue;
} else {
stack.push(S.charAt(i));
}
}
//๋ง์ง๋ง ๋ถ๋ถ์ ๋ซํ ๊บพ์ ๊ฐ ์๋๋, ์คํ์ ๋จ์์๋๋ถ๋ถ์ ์ถ๋ ฅํ๊ธฐ ์ํด์..!
if (i == S.length() - 1) {
while (!stack.isEmpty()) {
sb.append(stack.pop());
}
}
}
System.out.println(sb);
}
}
๋ต์ง ๋ฐฐ๋..!ใ
ใ
ใ
ใ
https://velog.io/@newtownboy/JAVA17413%EB%B2%88-%EB%8B%A8%EC%96%B4-%EB%92%A4%EC%A7%91%EA%B8%B0-2