https://www.acmicpc.net/problem/10809
풀이
더보기
알파벳 갯수만큼 반복문을 돌리면 되는데, 알파벳을 문자로 하나씩 올리기엔 너무 많으니 아스키코드를 사용한다.
i를 a의 아스키코드로 시작하고, 소문자만큼 반복문의 양을 정해놓은 후, i를 아스키코드로 변환하여 indexOf를 이용하여 어디서 첫 번째로 등장하는지 확인한다. 해당 인덱스를 리스트에 넣고, 리스트를 문자열로 변경하면 된다.
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
question10809()
}
fun question10809() {
var writer = BufferedWriter(OutputStreamWriter(System.out))
var word = readLine()
var list = mutableListOf<Int>()
// 아스키코드
for(i in 97 .. 122) {
word?.indexOf(i.toChar())?.let { list.add(it) }
}
writer.write(list.joinToString(" "))
writer.flush()
}
반응형
'스터디(beakjoon)' 카테고리의 다른 글
Kotlin] 백준 2908번 문제풀이 (0) | 2023.05.31 |
---|---|
Kotlin] 백준 1152번 문제풀이 (0) | 2023.05.31 |
Kotlin] 백준 2675번 문제풀이 (0) | 2023.05.30 |
Kotlin] 백준 11720번 문제풀이 (0) | 2023.05.26 |
Kotlin] 백준 11654번 문제풀이 (0) | 2023.05.25 |