Menu
CoddyTech

중첩 반복문

Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 52번째.

다른 루프 안에 루프를 넣어 중첩 루프를 만들 수 있습니다. 내부 루프는 외부 루프의 각 반복마다 완전히 실행됩니다.

val rows = 2
val cols = 3
for (i in 1..rows) {
    for (j in 1..cols) {
        println("i=$i, j=$j")
    }
}
// 출력:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3

i가 1일 때 내부 루프는 cols번 실행됩니다(j는 1부터 3까지 증가합니다). 그런 다음 i가 2가 되고, 내부 루프가 다시 시작되어 j는 다시 1부터 3까지 증가합니다. 따라서 총 반복 횟수는 2 × 3 = 6입니다. rows와 cols는 절대 바뀌지 않습니다. 이 값들은 루프가 언제 멈출지 알려 줄 뿐입니다.

중첩 루프는 패턴을 만들거나 격자 형태의 구조를 다룰 때 흔히 사용됩니다:

for (row in 1..3) {
    for (col in 1..row) {
        print("*")
    }
    println()
}
// 출력:
// *
// **
// ***

여기서는 내부 루프의 범위가 외부 루프의 변수에 따라 달라져 삼각형 패턴을 만듭니다. print() 함수는 줄바꿈 없이 출력하고, println()은 각 행이 끝난 후 다음 줄로 이동합니다.

challenge icon

챌린지

중급

입력에서 정수 n을 읽습니다. 중첩 루프를 사용하여 1부터 n까지의 곱셈표를 출력합니다.

1부터 n까지의 각 행 i에 대해, i * 1, i * 2, ..., i * n의 곱을 공백으로 구분하여 출력한 다음 줄바꿈합니다.

예를 들어, 입력이 3이면 출력은 다음과 같아야 합니다:

1 2 3
2 4 6
3 6 9

입력이 4이면 출력은 다음과 같아야 합니다:

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

같은 줄에 값을 출력하려면 공백과 함께 print()를 사용하고, 다음 행으로 이동하려면 println()을 사용합니다.

각 루프에 새 카운터를 사용하고(예: 행에는 i, 열에는 j) 둘 다 n과 비교합니다. n 자체는 변경하지 마세요. 각 행에서 다시 필요합니다.

직접 해보기

fun main() {
    // 입력값을 읽습니다
    val n = readLine()!!.toInt()
    
    // TODO: 아래에 코드를 작성하세요
    // 중첩 반복문을 사용해 구구단을 출력하세요
    // 같은 줄에 값을 출력할 때는 공백과 함께 print()를 사용하세요
    // 다음 행으로 넘어가려면 println()을 사용하세요
    
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드