본문 바로가기
프로그래머스 Algorithm

[프로그래머스] 직사각형 별찍기 Kotlin

by Echung 2023. 11. 30.

안녕하세요. 이번에는 프로그래머스 직사각형 별 찍기 문제를 풀어보려고 합니다.

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


Problem

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

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

 

[제한 사항]

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

사진 1. 입출력 예

Solution

fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    var answer: String = ""
    for(i in 0 until b) {
        for(j in 0 until a) {
            answer += "*"        
        }

        answer += "\n"
    }

    println(answer)
}

 이번 문제는 for문을 이용해서 쉽게 문제를 풀었습니다. 

 

1. 다른 사람 코드

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

  조금 더 학습을 하기 위해서 다른 사람들의 코드를 확인해 보았습니다. 다른 사람은 repeat() 함수를 사용해서 문제를 접근하였습니다. for문을 이용하나 repeat을 이용하나 큰 차이는 없어서 자신의 스타일로 코드를 작성해도 좋을 것 같습니다. 그래도 kotlin에 repeat 기능이 있다는 것을 인지하고 있으면 언제든지 유용하게 사용할 수 있을 것 같습니다.


Performance

1. 내가 작성한 코드 2. 다른 사람 코드

반응형