일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이분 검색
- Cypress
- dfs
- RTK Query
- SSR
- CI/CD
- webpack
- 공변성
- ESlint
- 인터섹션
- Promise
- useAppDispatch
- CORS
- React
- 무한 스크롤
- app router
- tailwind
- autosize
- 투포인터
- async/await
- 리터럴 타입
- 타입 좁히기
- map
- recoil
- TS
- 결정 알고리즘
- 반공변성
- 태그된 유니온
- 호이스팅
- Jest
Archives
- Today
- Total
짧은코딩
17413 단어 뒤집기2 본문
반응형
https://www.acmicpc.net/problem/17413
내 풀이(맞음)
x = input()
ary = ''
rst = ''
for i in range(len(x)):
if x[i] == '<':
if ary != '':
rst += ary[::-1]
ary = ''
ary += x[i]
elif x[i] == ' ':
if ary:
if ary[0] == '<':
ary += ' '
continue
rst += ary[::-1] + ' '
ary = ''
elif x[i] == '>':
ary += x[i]
rst += ary
ary = ''
else:
ary += x[i]
if ary:
rst += ary[::-1]
print(rst)
ary는 한 단어씩 저장하는 것이고 rst는 전체 문자열을 저장하는 것이다. x의 개수 만큼 for문을 돌린다. 첫번째 조건은 x[i]가 '<'인 경우 ary가 비어있지 않으면 rst에 ary를 뒤집어서 넣어주고 ary를 공백으로 만든다. 만약 ary가 비어있으면 ary에 x[i]를 추가해준다. 두번째 조건은 x[i]가 ' '이고 ary가 안비어있고 ary[0]이 '<'이면 ary에 ' '인 공백을 넣고 다음 반복문으로 넘어간다. 하지만 위 조건이 다 거짓이면 rst에 ary를 뒤집어서 넣고 공백 ' '도 추가해준다. 세번째 조건은 x[i]가 '>'이면 ary에 x[i]인 '>'를 넣고 rst에 ary를 넣은 다음 ary를 공백으로 해준다. 마지막으로 그 외에 조건에서는 ary에 x[i]를 추가한다. 그리고 반복문을 나오고 나서 ary가 있으면 뒤집어서 rst에 넣어준다.
반응형
Comments