본 강의는 코틀린(Kotlin)의 문법강의가 아닌, 프로그래밍 훈련을 위한 강의입니다. 따라서, 본 강의에서 알려드리는 내용만으로 코딩훈련에 임하시기 바랍니다.
이중 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를 착실히 풀고 넘어오셨다면 다음장의 문제도 재밌게 푸실 수 있으리라 생각됩니다.