출처 : https://www.acmicpc.net/problem/2439 (백준 온라인 저지)

성공한 코드

어떤 방식으로 풀지 고민하다가 javascript의 padStart 메소드를 사용하여 풀면 재미있을 것 같아서 위와 같이 코드를 작성하였습니다. 보통 for문에 console.log 를 넣는 것은 속도면에서 그리 좋지 못하지만 N 크기가 100으로 제한되어 있으므로 큰 무리가 없을 것이라 판단하여 console.log를 넣었습니다. 코드를 살펴보겠습니다.

for(let i=0; i<N; i++)

N번만큼 반복합니다. 즉 줄 단위로 처리하기 위해 선언하였습니다.

str = "";

한 줄 출력에 사용할 str을 초기화합니다. 매 줄 마다 다른 값을 출력해야 하므로 초기화는 당연히 필요합니다.

for(let j=0; j<=i; j++){
     str = str+"*";
}

현재 줄 수만큼 반복합니다.  즉 4번째 줄을 처리하고 있다면 이 for문은 4번 반복 수행합니다. 예제에서 각 줄의 별 개수는 현재 줄 번호와 동일하므로 위와 같이 선언하였습니다. 이를 쉽게 정리하면 다음과 같습니다.

-> 1번째 줄

str = *

-> 2번째 줄

str = **

-> 3번째 줄

str = ***

... (생략)

str = str.padStart(N," ")

padStart 메소드를 사용해 현재 문자열의 크기가 입력한 값 크기를 가질 때까지 앞쪽에 " " 문자열을 삽입합니다. 즉 다음과 같은 결과가 만들어집니다.

-> 입력값이 5라면

-> 1번째 줄

별표가 1개 있으므로 문자열 가장 앞부분에 공백 4개를 삽입하여 크기를 입력값(5)으로 만듬.

str =     *

-> 2번째 줄

별표가 2개 있으므로 문자열 가장 앞부분에 공백 3개를 삽입하여 크기를 입력값(5)으로 만듬.

str =    **

-> 3번째 줄

별표가 3개 있으므로 문자열 가장 앞부분에 공백 2개를 삽입하여 크기를 입력값(5)으로 만듬.

str =   ***

...(생략)

console.log(str);

한 줄 문자열이 만들어졌으니 출력합니다.

 

'Programing > Baekjoon 문제 알고리즘(node.js)' 카테고리의 다른 글

2742번 기찍 N  (0) 2022.02.24
8393번 합  (0) 2022.02.24
1330번 두 수 비교하기  (0) 2022.02.24
10171번 고양이  (0) 2022.02.24
2741번 N 찍기  (0) 2022.02.24
Posted by englishmath
,

문제 : https://www.acmicpc.net/problem/1330 (백준 온라인 저지)

성공 코드

간단한 if문 활용 문제이므로 설명은 생략하겠습니다.

'Programing > Baekjoon 문제 알고리즘(node.js)' 카테고리의 다른 글

8393번 합  (0) 2022.02.24
2439번 별 찍기 - 2  (0) 2022.02.24
10171번 고양이  (0) 2022.02.24
2741번 N 찍기  (0) 2022.02.24
10172번 개  (0) 2022.02.24
Posted by englishmath
,

출처 : https://www.acmicpc.net/problem/10171 (백준 온라인 저지)

성공한 코드

10172번 문제 풀이와 비슷하므로 설명은 생략하겠습니다.

'Programing > Baekjoon 문제 알고리즘(node.js)' 카테고리의 다른 글

2439번 별 찍기 - 2  (0) 2022.02.24
1330번 두 수 비교하기  (0) 2022.02.24
2741번 N 찍기  (0) 2022.02.24
10172번 개  (0) 2022.02.24
10430번 나머지  (0) 2022.02.24
Posted by englishmath
,