Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백트래킹
- DP
- Java8
- 그래프
- 네트워크
- 프로젝트
- 알고리즘
- BFS
- DFS
- Spring
- java
- back-end
- 운영체제
- LEVEL2
- 코틀린
- 스프링
- Brute-force
- backtracking
- kotlin
- 백준
- baekjoon
- programmers
- 자료구조
- 자바
- lambda
- 프로그래머스
- algorithm
- OS
- TDD
- 모던자바
Archives
- Today
- Total
요깨비's LAB
[백준, 문자열, Kotlin] P.17413 단어 뒤집기2 본문

import java.util.*
fun main() {
val scr = Scanner(System.`in`)
var str = scr.nextLine();
var len = str.length
var idx = 0
var startIdx = 0
var endIdx = 0
var result = ""
var substr = ""
var findIdx = 0
while(idx < len) {
if(str[0] == '<') {
findIdx = str.indexOf('>')
substr = str.substring(0, findIdx + 1)
result += substr
str = str.substring(findIdx + 1)
len = str.length
}
else {
findIdx = str.indexOfFirst {
it == '<'
}
var splitedStrs = emptyList<String>()
if(findIdx == -1) {
idx = len
substr = str.substring(0, len)
splitedStrs = substr.split(" ")
for(s in splitedStrs) {
result += s.reversed() + " "
}
val last = result.lastIndexOf(" ")
result = result.substring(0, last)
}else {
idx = findIdx
substr = str.substring(0, findIdx)
splitedStrs = substr.split(" ")
for(s in splitedStrs) {
result += s.reversed() + " "
}
val last = result.lastIndexOf(" ")
result = result.substring(0, last)
str = str.substring(findIdx)
len = str.length
idx = 0 // 요거 다시 생각
}
}
}
println(result)
}