[Kotlin] ์ง์‚ฌ๊ฐํ˜• ๋ณ„์ฐ๊ธฐ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜) : repeat()
๋ฐ˜์‘ํ˜•

 

 

 

 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/12969

 

 


 

์ ‘๊ทผ

 

fun main(){
    val a = readLine()!!.toInt()
    val b = readLine()!!.toInt()
        for(i in 1..a){
        for(j in 1..b){
            print("*")
        }
        println("")
    }
}
  • ์ƒ๋‹นํžˆ ์‰ฌ์šด ๋‹จ๊ณจ๋ฌธ์ œ๋ผ ์ฒ˜์Œ์—” ๊ทธ๋‹ฅ ๊ณ ๋ฏผ ์—†์ด ์ด๋Ÿฐ์‹์œผ๋กœ ์„ค๊ณ„ํ–ˆ๋Š”๋ฐ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.
  • 1) ์ž…๋ ฅ ํ˜•ํƒœ์˜ ๋ฌธ์ œ
    a์™€ b๊ฐ€ ๊ฐ ๋‹ค๋ฅธ ์ค„๋กœ ์ž…๋ ฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ "5 3"์˜ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋˜๋Š” ๊ฑฐ์˜€๋‹ค.
  • 2) main() ๋ฉ”์†Œ๋“œ ์„ ์–ธ์˜ ๋ฌธ์ œ
    ๊ณ„์† ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ๊ฐ€ ์„ ์–ธ๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๋–ด๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํžˆ ์„ ์–ธ๋ถ€์— fun main(args:Array<String>)์„ ๋„ฃ์œผ๋‹ˆ ํ•ด๊ฒฐ ๋๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)์„ ์–ธ์ด ํ•„์ˆ˜์ ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๋‹ค.

 

 


 

์„ฑ๊ณต ์ฝ”๋“œ

fun main(args:Array<String>){
        val (a, b) = readLine()!!.split(" ").map { it.toInt() }
        for(i in 1..b){
        print("*".repeat(a))
        println()
    }
}

 

 


 

์„ค๋ช…

 

  1. val (a, b) = readLine()!!.split(" ").map { it.toInt() }
    ํ•œ ๋ฒˆ์— ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•ด (a, b) ํ˜•ํƒœ๋กœ ์„ ์–ธํ•˜๊ณ , ๊ณต๋ฐฑ(" ")์„ ๊ธฐ์ค€์œผ๋กœ splitํ•œ ๋’ค, map์„ ํ†ตํ•ด ๊ฐ๊ฐ์— ๋„ฃ์–ด์ค€๋‹ค.
    ์•„๋ž˜์™€ ๊ฐ™์ด for๋ฌธ๊ณผ repeat๋ฅผ ๋Œ๋ฆฌ๋ ค๋ฉด Int ํ˜•ํƒœ๋กœ ๊ผญ ๋ณ€ํ™˜๋„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
    ์ฐธ๊ณ ๋กœ Kotlin 1.6 ๋ถ€ํ„ฐ readLine()!!์„ ๊ฐ„๋‹จํžˆ readln()์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. for(i in 1..b){ ... println()}
    ํ–‰์˜ ๊ฐœ์ˆ˜๋งŒํผ println()์œผ๋กœ ์ค„๋ฐ”๊ฟˆ์„ ํ•ด์ค€๋‹ค.
  3. print("*".repeat(a))
    ํ•œ ํ–‰๋‹น ์—ด์˜ ๊ฐœ์ˆ˜๋งŒํผ *๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. repeat(a)๋ฅผ ์ด์šฉํ•ด์„œ ์ถœ๋ ฅํ–ˆ๋‹ค.
    ์ฐธ๊ณ ๋กœ repeat์˜ ๊ฒฝ์šฐ ์ €๋ ‡๊ฒŒ print์— ์ง์ ‘ ๋„ฃ์–ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  repeat(a){print("*")} ์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 

๐Ÿ’กrepeat()

repeat(5) { // ๋ธ”๋ก ๋‚ด์˜ ์ฝ”๋“œ๊ฐ€ 5๋ฒˆ ๋ฐ˜๋ณต
    print("*")
}

print("*".repeat(5))
// print๋‚˜ println์•ˆ์— ์ง์ ‘ ๋„ฃ์–ด ๋ฐ˜๋ณต๋„ ๊ฐ€๋Šฅ
  • ํŠน์ • ์ž‘์—…์„ ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ
  • ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ for๋ฌธ ๊ฐ™์€ ๊ฒƒ๋ณด๋‹ค ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ ๊ฐ€๋Šฅ

 

 

 


 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

 

fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    //println(a + b)

    var star : String = ""
    for(i in 1..a){
        star += "*"
    }

    for(i in 1..b){
        println(star)
    }

}
  • ํšจ์œจ์ด ์ข‹์€์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ ๋‚˜์™€๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ ๋Œ€์‹  for๋ฌธ ๋‘ ๊ฐœ๋ฅผ ์ผ๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T