ALGORITHM/BOJ

[백준_javascript] 반복문(2438, 2439, 10952, 10951)

오늘도 코딩하나 2024. 7. 30. 16:44

#2438 (별 찍기 - 1)

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

const input = fs.readFileSync(file).toString().trim();
let num = parseInt(input);

let star = "";
for(let i=0; i<num; i++) {
    star += "*"
    console.log(star);
}

 

#2439 (별 찍기 - 2)

solution1_for문 2개.

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

const input = fs.readFileSync(file).toString().trim();
let num = parseInt(input);

let star = "";
for(let i=0; i<num; i++) {
    star = '';
    for(let j=0; j<num-1-i; j++) {
        star += " "
    }
    for(let m=0; m<=i; m++) {
        star += "*"
    }
    console.log(star);
}

 

solution2_for문 1개.

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

const input = fs.readFileSync(file).toString().trim();
let num = parseInt(input);

let star = "";
let blank = "";
for(let i=1; i<=num; i++) {
    star += "*";
    for(let j=0; j<num-i; j++) {
        blank += " ";
    }
    console.log(blank + star);
    blank = "";
}

 

solution3_array.

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

const input = fs.readFileSync(file).toString().trim();
let num = parseInt(input);

let star = new Array(num).fill(' ');
for (let i=num-1; i>=0; i--) {
    star[i] = "*";
    console.log(star.join(''));
}

 

solution4_repeat().

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

const input = fs.readFileSync(file).toString().trim();
let num = parseInt(input);

let result = '';
for(let i=1; i<=num; i++) {
    result += ' '.repeat(num-i) + '*'.repeat(i) + '\n';
}
console.log(result);

 

#10952 (A+B - 5)

solution1_for.

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

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

for(let i=0; i<input.length; i++) {
    let [a,b] = input[i].split(' ').map(Number);
    if(a+b > 0) {
        console.log(a+b);
    } else {
        break;
    }
}

 

solution2_while.

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

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

let i = 0;
while(i<input.length) {
    let [a,b] = input[i].split(' ').map(Number);
    if(a+b > 0) {
        console.log(a+b);
    } else {
        break;
    }
    i++;
}

 

#10951 (A+B - 4)

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

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

let i = 0;
while(i<input.length) {
    let [a,b] = input[i].split(' ').map(Number);
    console.log(a+b);
    i++;
}

 

 

### 참고한 블로그

https://laycoder.tistory.com/167

 

[백준] 2439번/ 별 찍기 - 2 / Node.js

문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력

laycoder.tistory.com

https://mywebproject.tistory.com/201

 

백준 2439 javascript (node.js) 풀이

for문 - (10) 💡문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 📁입력 첫째 줄에 N(1 ≤ N ≤ 100)이

mywebproject.tistory.com