효율적인 텍스트 만들기
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 47번째.
StringBuilder는 append 호출을 사용해 텍스트를 누적하고, 그다음 toString이 최종 String을 생성합니다. 매 단계마다 불변 String 전체를 수동으로 다시 만들지 않고도 루프 안에서 레이블, 숫자 및 구분 기호를 추가할 수 있습니다. 구분 기호가 정확히 어디에 들어가야 하는지 결정하세요.
main 내부:
val result = StringBuilder()
for (n in 1..3) {
if (n > 1) result.append("-")
result.append(n)
}
println(result.toString())구분 기호는 첫 번째 항목을 제외한 각 항목 앞에 추가되므로, 끝에 하이픈이 남지 않습니다.
점진적인 텍스트에는 StringBuilder.append를 사용하고 최종 String에는 toString을 사용하세요.
챌린지
중급numberLine을 매개변수 count: Int와 함께 완성하세요. StringBuilder를 사용하여 1부터 count까지의 숫자를 앞이나 뒤에 하이픈 없이 하나의 하이픈으로 구분해 반환하세요. count는 0에서 20 사이이며, 0이면 빈 문자열을 반환합니다.
위에서 더 엄격한 범위를 지정하지 않은 경우, 각 수준의 컬렉션에는 최대 100개의 요소가 포함되며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
String 타입의 값을 반환하세요. 제공된 입력/출력 코드는 그대로 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 요소들로 시작하고, 맵은 항목 개수와 각 키 및 값으로 시작합니다. 중첩 리스트에서는 각 행마다 개수와 요소 형식을 반복합니다. 제공된 main은 반환값 뒤에 줄바꿈 하나를 출력합니다. 리스트에는 Kotlin의 표준 대괄호 형식을 사용하며, 추가 레이블은 출력하지 마세요.
직접 해보기
fun numberLine(count: Int): String {
// 여기에 솔루션을 작성하세요.
return ""
}
fun main() {
val count = readln().toInt()
println(numberLine(count))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드