코드카타(CodeKata)
코드카타 - 직사각형 별 찍기
하늘냥이
2024. 7. 1. 11:08
문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
n과 m은 각각 1000 이하인 자연수입니다.
예시
입력
5 3
출력
*****
*****
*****
풀이
fun main(args: Array<String>) {
val (a, b) = readLine()!!.split(' ').map(String::toInt)
var aaa = ""
var bbb = ""
var cnt = 0
var cnt2 = 0
while (cnt2 < b){
while (cnt < a){
aaa += "*"
cnt += 1
// println(aaa)
}
bbb += "${aaa}\n"
cnt2 += 1
// println(bbb)
}
println("${bbb}")
}
주의사항
- 줄바꿈(\n)을 쓸 때엔 따옴표 안에서 써야 한다.
- .map()
- 컬렉션 또는 시퀀스의 요소에 주어진 변환 함수를 적용해 새 컬렉션을 반환하는 함수
- 원래의 컬렉션을 변경하징 않고 새로운 변환된 컬렉션을 생성
val newList = oldList.map { element -> transform(element) }
- oldList라는 기존의 컬렉션의 각 element에 transform()을 통해 새로운 변환을 적용하고 newList로 생성
- 예시
val numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
println(doubled) // 출력: [2, 4, 6, 8, 10]