본문 바로가기
스터디(beakjoon)

Kotlin] 백준 2439번 문제 풀이

by 김마리님 2023. 4. 17.

https://www.acmicpc.net/problem/2439

 

2439번: 별 찍기 - 2

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

www.acmicpc.net

 

풀이

더보기

이거랑 비슷한 문제

https://itstudy-mary.tistory.com/490

 

Kotlin] 백준 2438번 문제 풀이

https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 풀이 더보기 이것도 뭐.. 카운트 받아서 int 1부터 range 카운트

itstudy-mary.tistory.com

 

다만 별 앞에 공백을 채워야 하는데,

케이스가 5이면, 별 1개를 찍어야 한다면 앞에 공백을 4개를 찍어야 한다.

그럼 별 찍는 것처럼 " ".repeat(케이스 - i)를 하고, 그 뒤에 버퍼 라이터 개행을 하지 않고 "*".repeat(i)를 하여 총합 케이스 갯수만큼 한 줄에 채우면 오른쪽 정렬로 별을 붙일 수 있다.

 

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main(args: Array<String>) {
    question2439()
}

fun question2439() {
    var reader = BufferedReader(InputStreamReader(System.`in`))
    var writer = BufferedWriter(OutputStreamWriter(System.out))

    var count = reader.readLine().toInt()

    for(i in 1..count) {
        writer.write(" ".repeat(count-i))
        writer.write("*".repeat(i))
        writer.newLine()
    }

    writer.flush()
}
반응형