과일 장수
function solution(k, m, score) {
var answer = 0;
score=score.sort((a,b)=>a-b);
while(score.length >=m) {
let slice=score.splice(-m);
let mini =Math.min(...slice);
answer+=mini*m;
}
return answer;
}
덧칠하기
function solution(n, m, section) {
let arr= new Array(n).fill(1);
let cnt=0;
for(let i=0;i<section.length;i++) {
arr[section[i]-1]--;
}
for(let i=0;i<arr.length;i++){
if(arr[i] ===0) {
for(let j =i;j<i+m;j++) {
arr[j]++;
}
cnt++;
}
}
return cnt;
}
소수 찾기
function solution(n) {
let arr = new Array(n + 1).fill(true).fill(false,0,2);
for(let i = 0; i <= Math.sqrt(n); i++) {
if(arr[i]) {
for(let j = i * i; j <= n; j += i) {
arr[j] = false
}
}
}
return arr.filter(el => el).length
}
소수 만들기
function isPrime(n) {
if(n <2) return false;
for(let i =2;i<=Math.sqrt(n);i++) {
if(n%i===0)
return false;
}
return true;
}
function solution(nums) {
var answer = 0;
for(let i =0;i<nums.length-2;i++) {
for(let j=i+1;j<nums.length-1;j++) {
for(let k =j+1;k<nums.length;k++) {
let sum =nums[i]+nums[j]+nums[k];
if(isPrime(sum))
answer++;
}
}
}
return answer;
}
실패율
function solution(N, stages) {
var answer = [];
var failstage =[];
var namuzi = stages.length;
for(let i =1;i<=N;i++)
{
let cnt= 0;
for(let j =0;j<stages.length;j++)
{
if(stages[j]===i)
cnt++;
}
failstage.push({ stage:i ,failRate:cnt/namuzi});
namuzi-=cnt;
}
failstage.sort((a,b)=>{
if(b.failRate ===a.failRate)
return a.stage-b.state;
return b.failRate -a.failRate;
});
answer =failstage.map((item)=>item.stage)
return answer;
}
옹알이(2)
function solution(babbling) {
var answer = 0;
let arr= ["aya","ye","woo","ma"];
for(let i =0;i<babbling.length;i++) {
for(let j =0;j<arr.length;j++) {
if(babbling[i].includes(arr[j].repeat(2)))
break;
babbling[i] =babbling[i].split(arr[j]).join(' ');
}
if(babbling[i].split(" ").join("").length === 0)
answer++;
}
return answer;
}
[1차] 다트게임
function solution(dartResult) {
let result=[];
let num =0;
for(let i=0;i<dartResult.length;i++) {
let s =dartResult[i];
if(s>='0' && s <="9"){
if(s==="1" && dartResult[i+1]==="0") {
num=10;
i++;
}
else num=Number(s);
}
else if(s==="S") {
result.push(num);
}
else if(s==="D") {
result.push(Math.pow(num,2));
}
else if(s==="T") {
result.push(Math.pow(num,3));
}
else if(s==="*") {
result[result.length-1] *= 2;
result[result.length-2] *= 2;
}
else if(s==="#") {
result[result.length-1] *= -1;
}
}
return result.reduce((a,b)=>a+b,0);
}