ALGORITHM/BOJ

[백준_javascript] 문자와 문자열(10809, 2675, 1152)

오늘도 코딩하나 2024. 8. 7. 13:35

#10809 (알파벳 찾기)

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const input = fs.readFileSync(file).toString().trim().split('').map(x=>x.charCodeAt());

const arr = new Array(26).fill().map((x,y) => y+97);

const result = arr.map(x => input.indexOf(x));
console.log(result.join(' '));

 

# 2675 (문자열 반복)

solution1_for().

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const [T, ...input] = fs.readFileSync(file).toString().trim().split('\n');

let P = '';
input.forEach(x => {
    P = '';
    let [R,S] = x.trim().split(' ');
    S.split('').map(y=>{
        for(let i=0; i<R; i++) {
            P += y;
        }
    });
    console.log(P);
});

 

solution2_repeat().

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const [T, ...input] = fs.readFileSync(file).toString().trim().split('\n');

input.forEach(x => {
    let [R,S] = x.trim().split(' ');
    let P = S.split('').map(y => y.repeat(R) );
    console.log(P.join(''));
});

 

# 1152 (단어의 개수)

※ 틀렸습니다.

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const input = fs.readFileSync(file).toString().trim().split(' ');
console.log(input.length);

 ▶ 공백을 입력한 경우, input = ['']로 input.length가 1로 출력된다.

 

solution1_조건.

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const input = fs.readFileSync(file).toString().trim().split(' ');
console.log(input.includes('') ? 0 : input.length);

 

solution2_filter().

const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';

const input = fs.readFileSync(file).toString().trim().split(' ');
const result = input.filter(x => x !== '')
console.log(result.length);

 

 

### 참고한 블로그

https://mywebproject.tistory.com/467

 

[백준] 2675번 - 문자열 반복 (node.js)

JavaScript 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P

mywebproject.tistory.com

https://mywebproject.tistory.com/469

 

[백준] 1152번 - 단어의 개수 (node.js)

JavaScript 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수

mywebproject.tistory.com

https://leeseong010.tistory.com/m/13

 

[Node.js/JavaScript] 백준 1152번 단어의 개수

문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모

leeseong010.tistory.com