잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

코딩테스트 연습 - 직사각형 별찍기

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수

programmers.co.kr

 

 

 

 

 

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

 

테스트 1 통과 (161.86ms, 50.2MB)
테스트 2 통과 (149.95ms, 49.8MB)
테스트 3 통과 (203.91ms, 49.3MB)
테스트 4 통과 (219.12ms, 49.6MB)
테스트 5 통과 (193.55ms, 49.8MB)
테스트 6 통과 (183.95ms, 50.4MB)
테스트 7 통과 (178.82ms, 49.9MB)
테스트 8 통과 (212.59ms, 64.2MB)
테스트 9 통과 (252.06ms, 64.6MB)
테스트 10 통과 (169.45ms, 53.2MB)
테스트 11 통과 (231.77ms, 61.1MB)

 

 

 

 

 

코틀린 공부 시작..

 

 

 

 

 

for문 기본형 : for (요소 변수 in 컬렉션 또는 범위) { 반복할 본문 }

범위 지정은 숫자..숫자 이런 식으로 ..으로 하는 듯하고, 기본적으로 1씩 증가한다.

만약 2씩 증가하게 하고 싶다면 step 2를 뒤에 추가로 적으면 된다.

ex) for (i in 1..5 step 2) { }

 

 

 

 

그래서 a개씩 b줄로 출력하니까

바깥 for문의 범위는 b, 안쪽 for문의 범위는 a로 지정하여

안쪽 for문에서 print("*")로 별을 입력하고,

안쪽 for문이 끝나면 println()으로 줄 바꿈을 표시하여 출력하였다.

 

 

 

 

print()는 줄 바꿈 x

println()은 줄 바꿈 o

 

 

 

 

 

728x90

+ Recent posts