반응형
문제설명
https://www.acmicpc.net/problem/17413
사고과정
- 먼저 태그가 있는 인덱스만 따로 빼내서 태그가 있는 문자열 추출까지는 했는데, 이렇게 따로 빼낸 태그가 있는 인덱스를 가지고 일반 문자열이 있는 인덱싱으로 가는 데 막혀서 해결하지 못했다..
- 구글링을 해보니 주어진 문자열을 입력받아서 while 문을 하나씩 돌면서 < > 태그 안의 내용은 그냥 그대로 두고 문자열만 마주쳤을 때 뒤집는 선형방식으로 구현했다.
- 그리고 문자열이 알파벳인지 확인하는 isalpha()를 배웠었는데 숫자 또는 문자열인가를 확인하는 isalnum() 함수도 새롭게 알게 되었다.
풀이(스스로 못 푼 풀이)
import sys
input = sys.stdin.readline
word = list(input().rstrip())
index = 0
start = 0 # tag아닌 문자열 시작하는 위치
while index < len(word):
# < > 태그에 해당하는 부분
if word[index] == '<':
index += 1
while word[index] != '>':
index += 1
index += 1
# < > 태그 영역 밖에 있는 뒤집을 문자열
elif word[index].isalnum():
start = index
while index < len(word) and word[index].isalnum():
index += 1
temp = word[start:index] # 뒤집을 부분 문자열
word[start:index] = temp[::-1]
# 공백인 경우 무시
else:
index += 1
print(''.join(word))
반응형
'알고리즘 삽질장' 카테고리의 다른 글
[BOJ] 17298번 - 오큰수 (0) | 2021.10.25 |
---|---|
[BOJ] 10799번 - 쇠막대기 (0) | 2021.10.25 |
[BOJ] 1158번 - 요세푸스 문제 (0) | 2021.10.24 |
[BOJ] 10845번 - 큐 (0) | 2021.10.24 |
[BOJ] 1406번 - 에디터 (0) | 2021.10.24 |