코테분석#6-4 단어 뒤집기2 (백분 17413)

정은경·2020년 3월 16일
0

알고리즘

목록 보기
20/125

문제


나의 풀이

  • 나의 약점... 문자열 처리!!!!
  • 이문제 꼭 풀테다!!!
  • 생각보다 안어려웠음! (약 24분 소요)
S = input().strip()

temp = ''
l_stack = []
for i in S:
    # print(temp)
    if "<" in i:
        if temp:
            l_stack.append(temp)
        temp = ''
        temp += i

    elif ">" in i:
        temp += i
        l_stack.append(temp)
        temp = ''

    else:
        temp += i
if temp:
    l_stack.append(temp)

for i in l_stack:
    if "<" in i:
        print(i, end="")
    else:
        new = [x[::-1] for x in i.split()]
        print(' '.join(new), end="")
print()

쌤's 풀이

  • 이런문제는 예제입/출력을 먼저 확인해보면 문제이해가 빠릅니다
S, tmp = input(), ""

ck = False

for i in S:
	if i == ' ':
    	if not ck:
        	print(temp[::-1], end = " ")
            tmp = ""
        else:
        	print(" ", end = "")
   	elif i == '<':
    	ck = True
        print(tmp[::-1] + "<", end = "")
        tmp = ""
    elif i == '>':
    	ck = False
        print(">", end = "")
    else: # 알파벳과 숫자
    	if ck:
        	print(i, end="")
        else:
        	temp += i
print(tmp[::-1], end=" ")

느낀 점

  • 생각보다 문제가 어렵지 않았다. 문자열 처리에서 stack을 쓰는 것 참 좋당ㅎㅎ
  • 이번 코드는 잘 짠 것 같당ㅎㅎㅎㅎ
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글