본문 바로가기

백준/JavaScript

[JS] 백준 심화 1 - 첫 번째 이야기

728x90

 

 

오늘은 드디어 심화 1을 풀 차례다.

 

문제

https://www.acmicpc.net/step/52

 

심화 1 단계

두세 문자가 한 글자로 묶일 수 있을 때 글자의 수를 세는 문제

www.acmicpc.net

 

 


 

 

 

문제 25083번

https://www.acmicpc.net/problem/25083

 

25083번: 새싹

아래 예제와 같이 새싹을 출력하시오.

www.acmicpc.net

 

 

 

이번 문제는 저번에 풀었던 고양이, 강아지 문제의 심화버전인 것 같다.

2024.01.04 - [백준/JavaScript] - [JS] 백준 입출력과 사칙연산 - 마지막 이야기

 

 

여러 줄을 한 번에 출력하기 위해 `(백틱)으로 묶어준 다음

`(백틱), \, ', " 앞에 \를 붙여주면 된다.

 

console.log(`         ,r\'\"7
r\`-_   ,'  ,/
 \\. \". L_r\'
   \`~\\/
      |
      |`);

 

 

좋았어!!

 

 

 

 

문제 3003번

https://www.acmicpc.net/problem/3003

 

3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰

첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.

www.acmicpc.net

 

 

원래 체스의 개수를 배열로 만들어준다. 그리고 원래 체스의 개수에서 입력받은 개수를 빼준 다음 결과값에 넣어주면 될 것 같다.

 

const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString().split(' ');

const chess = [1,1,2,2,2,8];
let result=[];
for(let i=0;i<6;i++){
    result[i] = chess[i]-input[i];
}

console.log(result.join(' '));

 

 

 

 

 

문제 2444번

https://www.acmicpc.net/problem/2444

 

2444번: 별 찍기 - 7

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

www.acmicpc.net

 

이건 예전에 별 찍기 문제의 심화버전이다. 이전에는 공백과 별을 따로 변수에 저장해준 후 공백+별을 출력해 주었다. 이번에도 그렇게 하면 될 것 같다.

 

그런데... 좀 헷갈리는데...?

 

...

 

고민하다가 다른 분의 풀이를 참고했다.

이런 식으로 했다는 것을 알고 내가 생각해서 작성하였다.

어떻게 하면 이런 순서로 나올까 생각하다가 드디어 찾았다 ㅎㅎ.

 

const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt'
const input = require('fs').readFileSync(readFileSyncAdress).toString();

for(let i=1;i<=input;i++){
    let blank=' '.repeat(input-i);
    let star='*'.repeat(i*2-1);
    console.log(blank + star);
}

for(let i=input;i>1;i--){
    let blank=' '.repeat(input-i+1);
    let star='*'.repeat(i*2-3);
    console.log(blank + star);
}

 

 

입력값과 for문의 i값을 잘 활용하면 된다 ㅎㅎ.

 

[참고] https://velog.io/@scroll0908/%EB%B0%B1%EC%A4%80-Node.js-2444-%EB%B3%84-%EC%B0%8D%EA%B8%B0-7

 

 

 

 

728x90