간단하게 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()
}
가장 최상위에 뜨는 케인 포스팅...!