티스토리 뷰
반응형
https://www.acmicpc.net/problem/17413
17413번: 단어 뒤집기 2
문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('<', '>')로만 이루어져
www.acmicpc.net
⊙ 문제
⊙ 입력
⊙ 출력
⊙ 예제 입출력
⊙ 알고리즘 분류
- 구현
- 문자열
⊙ 문제 접근 과정
띄어쓰기를 기준으로 배열에 추가해줬다.
그렇지만 괄호 안에 있는 띄어쓰기는 무시해야 한다.
flag를 이용하여 괄호를 판별 해줬다.
나머지 코드는 전부 직접 구현했다.
괄호 안에 있는 텍스트는 parentheses 문자열 안에 괄호 밖에 있는 텍스트는 message 문자열 안에 넣어주었다. 그리고 message는 거꾸로 넣어주고 parentheses는 그대로 넣어주었다.
⊙ 문제 풀이
inputFirst = input()
inputString = []
first = ""
flagFirst = True
# 괄호 안에 있는 띄어쓰기는 무시하고
# 괄호 밖에 있는 띄어쓰기 인식하여 배열 넣기
for i in range(len(inputFirst)):
if inputFirst[i] == '<':
flagFirst = False
elif inputFirst[i] == '>':
flagFirst = True
if inputFirst[i] == ' ' and flagFirst:
inputString.append(first)
first=""
else:
first+=inputFirst[i]
if i == (len(inputFirst)-1):
inputString.append(first)
# 배열 하나하나 검사
# 값에 괄호가 있냐없냐로 케이스 분류
for i in range(len(inputString)):
if ('<' or '>') not in inputString[i]:
inputString[i] = inputString[i][::-1]
else:
total=""
message=""
parentheses=""
flag = True
#괄호가 있다면 괄호 안에 있는 값은 거꾸로 X
#괄호 밖에 있는 값은 거꾸로
for j in range(len(inputString[i])):
if inputString[i][j]== '<':
total+=message[::-1]
message=""
parentheses+=inputString[i][j]
flag = False
continue
elif inputString[i][j]== '>':
parentheses+=inputString[i][j]
flag = True
total+=parentheses
parentheses=""
continue
if flag:
message+=inputString[i][j]
else:
parentheses+=inputString[i][j]
if j == len(inputString[i])-1:
total+=message[::-1]
inputString[i]=total
#출력
print(" ".join(inputString))
⊙ 결과
⊙ 마무리
NONE
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형
'백준 온라인 저지 [BOJ] > PYTHON [파이썬]' 카테고리의 다른 글
[백준(BOJ)] 2470번 : 두 용액 - PYTHON[파이썬] (0) | 2021.09.24 |
---|---|
[백준(BOJ)] 9996번 : 한국이 그리울 땐 서버에 접속하지 - PYTHON[파이썬] (0) | 2021.09.22 |
[백준(BOJ)] 4889번 : 안정적인 문자열 - PYTHON[파이썬] (0) | 2021.09.16 |
[백준(BOJ)] 5052번 : 전화번호 목록 - PYTHON[파이썬] (0) | 2021.09.15 |
[백준(BOJ)] 12904번 : A와 B - PYTHON[파이썬] (1) | 2021.09.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바스크립트
- JS
- 구현
- 문자열
- 정답
- 프로그래머스
- 연습문제
- 답
- C++
- Python
- 쉽게 배우는 자바 프로그래밍
- 우종정
- Web
- java
- 해답
- 파이썬
- CPP
- 그리디
- 쉽게배우는자바프로그래밍
- 자바
- 풀이
- OS
- 운영체제
- 백준
- 알고리즘
- BFS
- 정렬
- 쉽게배우는
- py
- 정리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함