728x90
문제
스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다.
입력
첫 행은 N이며, 전체 케이스의 개수이다.
N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.
- N = 5
- 1 ≤ L ≤ 25
출력
각 케이스에 대해서, 케이스 번호가 x일때 "Case #x: " 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다.
나의 접근방법
문자열을 저장하는 ArrayList에 문자열을 split하여 리스트 형태로 입력을 저장했다. 그리고 각각의 reversed()한 문자열 리스트를 원소 하나씩 출력한다.
코드
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val stringList = arrayListOf<List<String>>().apply {
repeat(readLine()!!.toInt()) {
this.add(readLine().split(" "))
}
}
var count = 1
for (list in stringList) {
print("Case #${count}: ")
for (j in list.reversed()) {
print("$j ")
}
println()
count++
}
}
728x90
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
BOJ(1085) - Kotlin (0) | 2022.08.16 |
---|---|
BOJ(16466) - Kotlin (0) | 2022.06.13 |
BOJ(17608) - Kotlin (0) | 2022.06.10 |
BOJ(10104) - Kotlin (0) | 2022.06.09 |
BOJ(2605) - Kotlin (0) | 2022.06.07 |