[강의] 코딩 훈련 교본 (코틀린 편) – 07. 반복문(3)

본 강의는 코틀린(Kotlin)의 문법강의가 아닌, 프로그래밍 훈련을 위한 강의입니다. 따라서, 본 강의에서 알려드리는 내용만으로 코딩훈련에 임하시기 바랍니다.

Kotlin Playground에서 풀기

이중 for문의 응용

이중 for문의 다른 형태의 프로그램을 구현해보겠습니다. 먼저 아래 소스코드를 실행해보겠습니다.

fun main(args: Array<String>){
    var n = 5
    var k = 1
    println(\"n = $n\")
    for(i in 1..n) {
        for(j in 1..i){
            print(\"%4d\".format(k++))
        }
        println()
    }
}

결과:

n = 5
   1
   2   3
   4   5   6
   7   8   9  10
  11  12  13  14  15

바깥쪽의 열을 반복하는 for문의 인덱스 i를 이용하여 안쪽 행을 결정짓는 for문에 영향을 주게 만들어보았습니다. 이런 방법으로 다양한 문제를 풀 수 있습니다.

fun main(args: Array<String>){
    var n = 5
    var k = 1
    println(\"n = $n\")
    for(i in 1..n) {
        for(j in 1..i){
            print(\"%4d\".format(k++))
        }
        print(\"   #\")
        println()
    }
}

결과 :

n = 5
   1   #
   2   3   #
   4   5   6   #
   7   8   9  10   #
  11  12  13  14  15   #

고민을 조금 해보면 테두리도 씌울 수 있을것 같습니다.

이제 숫자는 지겨우니 별을 찍어보도록 하겠습니다. 방법은 동일합니다.

fun main(args: Array<String>){
    var n = 5
    println(\"n = $n\")
    for(i in 1..n) {
        for(j in 1..i){
            print(\"%4s\".format(\"*\"))
        }
        println()
    }
}

결과 :

n = 5
   *
   *   *
   *   *   *
   *   *   *   *
   *   *   *   *   *

별을 다양한 형태로 찍는 문제는 프로그래밍 기초 연습문제에서 유명합니다.

6장의 Quiz를 착실히 풀고 넘어오셨다면 다음장의 문제도 재밌게 푸실 수 있으리라 생각됩니다.

[이전글] [강의] 코딩 훈련 교본 (코틀린 편) – 06. 첫번째 퀴즈

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x