ALGORITHM/BOJ
[백준_javascript] 1차원 배열(3052, 10811, 1546)
오늘도 코딩하나
2024. 8. 5. 15:02
#3052 (나머지)
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').map(Number);
let arr = [];
let remain = 0;
for(let i=0; i<input.length; i++) {
remain = input[i] % 42;
if(!arr.includes(remain)) {
arr.push(remain);
}
}
console.log(arr.length);
solution2_new.
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';
const input = fs.readFileSync(file).toString().trim().split('\n').map(Number);
const remain = input.map(x => x%42);
const set = new Set(remain);
const arr = [...set];
console.log(arr.length);
#10811 (바구니 뒤집기)
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';
const input = fs.readFileSync(file).toString().trim().split('\n');
let [n,m] = input[0].split(' ').map(Number);
let arr = new Array(n).fill().map((x,y) => y+1);
let newArr = [];
for(let l=1; l<=m; l++) {
let [i,j] = input[l].split(' ').map(Number);
let rev = arr.slice(i-1, j).reverse();
// splice(시작 인덱스, 삭제할 값의 개수, 없애고 가져올 값)
arr.splice(i-1, j-i+1, ...rev);
}
console.log(arr.join(' '));
#1546 (평균)
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : __dirname+'/input.txt';
const input = fs.readFileSync(file).toString().trim().split('\n');
let n = parseInt(input[0]);
let nums = input[1].split(' ').map(Number);
let maxNum = Math.max(...nums);
let arr = nums.map(x => x/maxNum*100);
let avg = arr.reduce((a,b) => a + b) / n;
console.log(avg);
### 참고한 블로그
https://velog.io/@yeoni/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%B1%EC%A4%80-3052-javascript
https://fromnowwon.tistory.com/entry/reduce