반응형
문제
https://www.acmicpc.net/problem/2444
풀이
for문과 String(repeating:count:) 메서드를 사용하면 쉽게 풀 수 있는 문제입니다.
예제 입력이 5일 때, 위로 향하는 피라미드 모양을 먼저 확인해봅시다.
빈칸 4개, 별 1개
빈칸 3개, 별 3개
빈칸 2개, 별 5개
빈칸 1개, 별 7개
빈칸 0개, 별 9개
와 같이 출력해주고 있습니다.
n이 5이기 때문에, 빈칸은 4에서 0으로 줄어드니깐,
1부터 n까지 for문을 돌면서 빈칸의 개수를 n - i 개를 출력해주면 됩니다.
별은 1, 3, 5, 7, 9 형태로 찍히게 됩니다.
1부터 n까지 for문을 돌면서 별의 개수를 2 * i - 1개를 출력해주면 됩니다.
그렇다면 위로 향하는 피라미드 모양의 별을 찍을 수 있습니다.
아래로 향하는 피라미드 모양의 별은 어떻게 찍을 수 있을까요?
빈칸 1개, 별 7개
빈칸 2개, 별 5개
빈칸 3개, 별 3개
빈칸 4개, 별 1개
빈칸은 1개씩 증가하므로,
1부터 n - 1까지 for문을 돌면서 빈칸의 개수를 i 개를 출력해주면 됩니다.
별은 7, 5, 3, 1 순으로 줄어드네요.
1부터 n - 1까지 for문을 돌면서 별의 개수를 2 * (n - i) - 1개를 출력해주면 끝입니다.
소스코드
후기
규칙을 찾으면 쉽게 풀 수 있는 문제입니다.
2중 for문을 사용하여 풀 수도 있지만, String(repeating:count:) 메서드를 사용하면 더 간편하게 풀 수 있습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 10988 팰린드롬인지 확인하기 (Swift) (0) | 2023.03.03 |
---|---|
[BOJ] 백준 10812 바구니 순서 바꾸기 (Swift) (0) | 2023.03.03 |
[BOJ] 백준 11718 그대로 출력하기 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 9086 문자열 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 10811 바구니 뒤집기 (Swift) (0) | 2023.02.22 |