알고리즘 CODEKATA 38 (직사각형 별 찍기)

오리너구리·2024년 6월 15일
0

CODEKATA

목록 보기
37/57
post-thumbnail

문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.

별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.


제한 조건

  • n과 m은 각각 1000 이하인 자연수입니다.

내 풀이

최종 코드

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

풀이 과정

fun main(args: Array<String>) {
    val input = readLine()!!.split(' ').map(String::toInt)
    
    val inputMap = mapOf("row" to input[0].toInt(), "column" to input[1].toInt())
    val row = inputMap["row"]!!
    val column : Int = inputMap["column"]!!
    var star = ""
    
    
    for (i in 1 .. row){
        star = star.plus("*")
    }
    for(i in 1 .. column){
        println(star)
    }
    
}

처음에 (a,b) 가 두개 변수 묶어서 입력 받는거라고 생각안하고

아무생각없이 input으로 이름 바꿔서 풀려고

map으로 만들고 했는데

생각해보니까 println(a+b) 가되는거면,, ? ?

굳이 안해도될거같아서 다시 인풋받는 변수 이름 원래대로 돌려서 간단하게 풀어봄

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

profile
오리너구리입니다

0개의 댓글