[Swift] 백준 - 2439

Youngwoo Lee·2020년 11월 20일
0

Algorithm

목록 보기
4/9

for 제어문을 통한 별찍기

간단하게 for _ in ~~~에서
stride문을 통한 범위 제어를 하면 편하다.

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

stride 함수 소개

stride(from: , to: , by: )
// from 부터, to까지, by연산을 통해
stride(from: 1, to: 5, by: 1)
//1부터 5미만까지 1씩 더하며
stride(from: 10, to : 1, by: -1)
//10부터 1초과까지 -1씩 빼며

범위 연산에 많이 사용된다.

stride사용한 풀이 1)

let value = Int(readLine()!)!
for i in 1...value{
  for _ in stride(from: value, to: i, by: -1){
  	print(" ", terminator: "")
  }
  for _ in stride(from: 0, to: i, by: 1){
  	print("*", terminator: "")
  }
  print("")
}

다른 풀이 2)

let number = Int(readLine()!)!

for i in 1...number{
    let space = [Character].init(repeating: " ", count: number-i)
    let char = [Character].init(repeating: "*", count: i)
    
    print(String(space+char))
}

풀이 3)

let n: Int = Int(readLine()!)!

for i in 1 ... n {
    for _ in 0 ..< (n-i) {
        print(" ", terminator: "")
    }
    for _ in 0 ..< i {
        print("*", terminator: "")
    }
    print()
}
profile
iOS Developer Student

1개의 댓글

comment-user-thumbnail
2021년 4월 22일

가장 최상위에 뜨는 케인 포스팅...!

답글 달기