백준 2438번 - 별 찍기 -1

이설군·2022년 6월 13일
0

백준

목록 보기
11/52

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력 1

5

예제 출력 1

*
**
***
****
*****

제출

맞춘 제출 1

let i = Int(readLine()!)!
for j in 1...i {
	for _ in 1...j {
    	print ("*",terminator: "")
    }
    print ()
}

오답노트

틀린 제출 1

let i = Int(readLine()!)!
var c = 0
for _ in 1...i {
	c = c + 1
	for _ in 1...c {
    	print ("*",terminator="")
    }
    print ()
}

terminator=""가 아닌 terminator: ""...ㅠㅠ...한참 해맸다...
메모장에 쓰면서 하다보니 이런걸 간간히 틀린다. 익숙해지면 안틀리겠지!

숏코딩

숏코딩 예제 1

var a="";(1...Int(readLine()!)!).map{a+="*";print(a);$0}

완전 뒤집어서 생각한것같은 숏코딩.
Int가 아닌 String을 선언하고 배열을 만들어서 그걸 map을 이용해서 프린트...천재...

숏코딩 예제 2

(1...Int(readLine()!)!).map{print(String(repeating:"*",count:$0))}

변수 조차 선언하지 않고 한줄 숏코딩.

숏코딩 예제 3

for i in 1...Int(readLine()!)! {
    print(String(repeating: "*", count: i))
}

print의 구조를 이용한 숏코딩. 배울게 많은 숏코딩인것같다.
Int(readLine()!)!로 바로 for문에 넣을수 있다!
문자열 반복과, 배열 크기를 지정할 수 있는 함수를 사용했는데, 아래 추가 사용 예시 :
let s = String(repeating: "ab", count: 10)
print(s)
// Prints "abababababababababab"
count로 크기를 선언하고 반복 가능 ㅇ0ㅇ)9 엄청난 함수야!!

profile
티끌 모아 태산. 내가 가는 길이 옳은 길이라 믿으며 최선을 다해 걷는다.

0개의 댓글