백준/문제

24937번: SciComLove(2022)

스몰스테핑 2024. 9. 20. 13:23

문제 출처 : https://www.acmicpc.net/problem/24937

 

언어 : Kotlin

 

문제 설명 :

귀여운 아기 리프가 가장 좋아하는 문자열은 "SciComLove"(따옴표 제외)입니다. 귀여운 아기 리프는 아래 과정을 반복하며 문자열을 가지고 놀고 있습니다.

  • 문자열의 가장 첫 문자를 떼어낸 뒤, 문자열의 맨 뒤에 붙입니다.

귀여운 아기 리프가 이 과정을 N번 반복한 뒤, 문자열의 최종 상태를 출력하세요.

 

입력 :

정수 N이 주어집니다.

 

출력 :

문제의 답을 출력합니다. 대소문자에 주의하세요.

 

제한 사항 :

  • 시간 제한 : 1초
  • 메모리 제한 : 256MB
  • 0 ≤ N ≤ 10^9

 

입출력 예 :

입력 출력
3 ComLoveSci
15 mLoveSciCo

 

풀이 : 

import java.io.BufferedWriter
import java.io.OutputStreamWriter
import kotlin.math.abs

fun main() = with(System.`in`.bufferedReader()) {
    val bw = BufferedWriter(OutputStreamWriter(System.out))

    val str = "SciComLove"
    val n = (readLine().toInt()).let { if (it >= str.length) abs(it % str.length) else it }

    bw.write("${str.substring(n)}${str.substring(0 until n)}")
    bw.flush()
    bw.close()
}