728x90
문제설명
입력 & 출력
나의 풀이
const N = require('fs').readFileSync('/dev/stdin').toString().trim().split('').map(Number);
먼저 입력값을 받을 때 위 코드처럼 숫자로 변환한다는 생각만 해서 map(Number) 코드의 실질적인 의미인 입력값을 숫자 배열로 변환한다는 생각을 하지 못했습니다..
그래서 이상하게 별이 나와서 틀릴게 없는데 하고 N을 확인해 보니 배열이어서 답이 틀린 것이었습니다.
코드 설명을 하자면 증감하는 for문 1개와 감소하는 for문 1개 총 2개의 for문을 사용해야 합니다.
각 for문에서 repeat() 메서드를 사용하여 문자를 반복해줘야 하는데 왼쪽 그림을 보면 공백이 있습니다.
그렇기 때문에 공백 + '*'의 구조로 출력을 해야 합니다.
첫 번째 증감 for문에서 제일 긴 *을 출력했기 때문에 두 번째 for문에서 -1을 해줘야 그다음 줄로 넘어갔습니다.
코드를 작성할 때 좀 더 신중히 해야겠다는 생각이 들어서 정리를 해보았습니다.
참고 ❗
[JavaScript] repeat() 메서드 알아보기
언어들을 시작할 때 기본적으로 해보는 코드가 별 찍기입니다. 별 찍기에는 여러 가지 방법이 있지만 기본적으로 for문을 사용해서 찍기도 합니다. for(let i = 1 ; i
pixx.tistory.com
'Coding Test > 백준' 카테고리의 다른 글
[백준] 크로아티아 알파벳 (node.js, 2941번) (0) | 2024.04.06 |
---|---|
[백준] 단어 공부 (node.js, 1157번) (1) | 2024.04.05 |
[백준] 다이얼 (node.js, 5622번) (0) | 2024.04.01 |
[백준] 문자열 반복 (2675번, node.js) (0) | 2024.03.27 |
[백준] 알파벳 찾기 (10809번, node.js) (0) | 2024.03.26 |