๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/๊ตฌํ˜„

[๋ฐฑ์ค€]17413๋ฒˆ: ๋‹จ์–ด ๋’ค์ง‘๊ธฐ 2

by syLim___ 2023. 5. 9.
728x90

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()์— ์ „๋‹ฌํ•ด์ค€ ๋’ค ๊ทธ ๋ฆฌํ„ด๊ฐ’์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

728x90