1. Link
10992번: 별 찍기 - 17
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
2. 문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력 > 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력 >첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
<javascript />
1
2.2. | 예제 출력 1
<javascript />*
<javascript />
2
2.4. | 예제 출력 2
<javascript />* ***
3. 제출
<javascript />
const fs = require("fs");
const input = Number(
process.platform === "linux" ? fs.readFileSync("/dev/stdin").toString() : `4`
);
let answer = " ".repeat(input * 2 - 1).split("");
let start = Math.floor((input * 2 - 1) / 2);
let end = start;
for (let i = 1; i <= input; i++) {
answer[start] = "*";
answer[end] = "*";
start--;
end++;
if (i === input) {
answer.fill("*");
}
console.log(answer.join("").trimEnd());
answer.fill(" ");
}
4. 풀이과정
answer에는 input * 2 - 1 만큼의 공백이 배열로 들어있다.
start와 end는 공백이 별로 바뀔 처음과 끝 인덱스이다.
따라서 for문이 진행됨에따라 start는 앞으로, end는 뒤로 가며 공백을 별로 바꿔준다.
백준의 출력 예시를 보면 각 줄의 끝에 공백이 포함되어 있지 않기 때문에
trimEnd() 메서드로 끝의 공백을 제거해준 뒤 정답을 출력한다.
5. 개념
5.1. Math.floor()
- 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환한다. (소수점 내림)
5.2. Array.prototype.fill()
- 배열의 시작 인덱스부터 끝 인덱스까지 지정한 값으로 채워 변경된 배열을 반환한다.
- 매개변수 구성은 다음과 같다.
- value : 배열을 채울 값
- start : 시작 인덱스 (optional)
- end : 끝 인덱스 (optional)
5.3. String.prototype.trimEnd()
- 문자열 끝 공백이 제거된 새 문자열을 반환한다.
- 문자열에 공백이 없어도 에러가 발생하지 않고, 복사본을 반환한다.
6. 유사한 문제
[백준] 2440: 별 찍기 - 3 (javascript)
Link 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 문제 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는
codingmyoni.tistory.com
[백준] 2441: 별 찍기 - 4 (javascript)
Link 2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제 첫째 줄에
codingmyoni.tistory.com
[백준] 2442: 별 찍기 - 5 (javascript)
Link 2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net 문제 첫째 줄에는 별 1개, 둘째 줄
codingmyoni.tistory.com
[백준] 2445: 별 찍기 - 8 (javascript)
Link 2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 > 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
codingmyoni.tistory.com
[백준] 2522: 별 찍기 - 12 (javascript)
Link 2522번: 별 찍기 - 12 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 > 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
codingmyoni.tistory.com
7. Comment

trimEnd()로 끝의 공백을 제거해주지 않으면 출력 형식이 잘못되었다는 에러가 발생한다.

'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1463: 1로 만들기 (javascript) (0) | 2022.12.01 |
---|---|
[백준] 10991: 별 찍기 - 16 (javascript) (0) | 2022.11.30 |
[백준] 2446: 별 찍기 - 9 (javascript) (0) | 2022.11.30 |
[백준] 2522: 별 찍기 - 12 (javascript) (2) | 2022.11.30 |
[백준] 2445: 별 찍기 - 8 (javascript) (0) | 2022.11.30 |