목록문제 (388)
sm 기술 블로그
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n'); let answer = ''; for (let i = 0; i < parseInt(input[0]); i ++){ let sum = 0; let cnt = 0; for(let j = 0; j < input[i+1].length; j++){ if(input[i+1].charAt(j) == 'O'){ cnt++; sum += cnt; } else{ cnt = 0; } } answer += sum + '\n'; } console.log(answer);
let input = require('fs').readFileSync(0).toString().trim().split('\n'); let tmp_1 = parseInt(input[0]); let tmp_2 = input[1].split(' ').map(Number); let max = Math.max(...tmp_2); let sum = 0; for(let i = 0 ; i < tmp_1; i++){ sum += (tmp_2[i]/max) * 100; } console.log(sum/tmp_1); 쪼개는 방법, 배열로 바꾸는 방법을 어렵지 않게 사용할 수 있다면 쉽게 풀 수 있다.
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number); let arr = []; for (let i = 0; i < 10; i++){ arr[i] = input[i] % 42; } const N = Array.from(new Set(arr)); console.log(N.length); Array.from은 배열과 비슷한 객체를 배열로 바꿔주는 함수이다. Set은 집합으로 중복값을 허용하지 않는다. 이 둘을 적절히 이용하면 크게 어렵지 않게 풀 수 있다.