https://www.acmicpc.net/problem/17413
17413๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ 2
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ๋ฌธ์์ด์์ ๋จ์ด๋ง ๋ค์ง์ผ๋ ค๊ณ ํ๋ค. ๋จผ์ , ๋ฌธ์์ด S๋ ์๋์๊ณผ ๊ฐ์ ๊ท์น์ ์งํจ๋ค. ์ํ๋ฒณ ์๋ฌธ์('a'-'z'), ์ซ์('0'-'9'), ๊ณต๋ฐฑ(' '), ํน์ ๋ฌธ์('<', '>')๋ก๋ง ์ด๋ฃจ์ด์ ธ
www.acmicpc.net
์ฝ๋ฉ ๋ชปํ๋ ๋์๊ฒ๋ ์๋นํ ๊น๋ค๋กญ๊ฒ ๋๊ปด์ก๋ค ์ด๋ ค์ ๋น
ํธ๋ ๋ฐ 40๋ถ ์ข ๋๊ฒ ๊ฑธ๋ฆฐ๋ฏ....
import sys
input = sys.stdin.readline
def reverse_str(input_str):
temp = list(input_str)
temp.reverse()
return ''.join(temp)
s = input().rstrip()
result = ''
idx = 0
while idx < len(s):
start = idx
if s[idx] == '<':
while s[idx] != '>':
idx += 1
idx += 1
result += s[start:idx]
else:
while True:
idx += 1
if idx == len(s) or s[idx] == '<' or s[idx] == ' ':
break
result += reverse_str(s[start:idx]).rstrip(' ')
if idx < len(s) and s[idx] == ' ':
result += ' '
print(result)
์ผ๋จ ์ด๋ป๊ฒ๋ ์ ๋ต ํ์ ์ ๋ฐ์๋ณด์ ํด์ ์ฝ๋๋ฅผ ์์ฑํด๋ดค๋ค.
์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ฌธ์์ด์ ์ํํ๋ค.
- '<'๋ฅผ ๋ง๋๋ฉด '>'๊น์ง ๊ทธ๋๋ก ์ถ๊ฐํด์ค๋ค.
- ์๋ก์ด ๋จ์ด๋ฅผ ๋ง๋๋ฉด, ๋ค์ ๊ณต๋ฐฑ์ด๋ '<'๋ฅผ ๋ง๋๊ธฐ ์ ๊น์ง์ ์์ญ์ ์๋ผ์ reverse_str()์ ์ ๋ฌํด์ค ๋ค ๊ทธ ๋ฆฌํด๊ฐ์ ์ถ๊ฐํด์ค๋ค.
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]1913๋ฒ: ๋ฌํฝ์ด (0) | 2023.05.10 |
---|---|
[๋ฐฑ์ค]10972๋ฒ: ๋ค์ ์์ด / 10973๋ฒ: ์ด์ ์์ด (0) | 2023.05.09 |
[๋ฐฑ์ค]1193๋ฒ: ๋ถ์์ฐพ๊ธฐ (0) | 2023.05.04 |
[๋ฐฑ์ค]17478๋ฒ: ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? (0) | 2023.05.04 |
[๋ฐฑ์ค]4673๋ฒ: ์ ํ ๋๋ฒ (0) | 2023.05.01 |