8958번
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let num = Number(input[0]);
for (let i = 1; i<=num; i++) {
let count = 0;
let sum = 0;
for (let j=0; j < input[i].length; j++ ) {
if (input[i][j]==="O") {
count++;
} else {
count=0;
}
sum += count;
}
console.log(sum);
}
O가 올 때마다 하나씩 더해주고 O가 안나오면 0 그 합을 더해줬당
3052번
const fs =require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(x => Number(x));
const A= input.map((x) => x%42);
const set = new Set(A);
const B= [...set]
console.log(B.length)
이 문제에서 배운건 배열에서 중복되는 값을 제거하는 방법이다.
내가 사용한 Set방법 이외에 indexOf()나 forEach()도 있었다.
여기서 난 전개연산자를 배울 수 있었다.
전개 연산자(Spread Operator)란 객체나 배열의 값을 하나 하나 넘기는 용도로 사용할 수 있다. 전개 연산자를 사용하는 방법은 점 세개(...)를 붙이면 된다.
1546번
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
const student = Number(input[0]);
const score = input[1].split(' ');
const max = Math.max(...score);
let sum = 0;
for (let i = 0; i < score.length; i++) {
sum += score[i]/max*100;
}
console.log(sum/student);
최대값을 구해서 공식에 집어넣었다