[D+73]20220221

ga_ding·2022년 2월 21일
0

TIL

목록 보기
23/55

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);

최대값을 구해서 공식에 집어넣었다

profile
大器晩成

0개의 댓글