[MWU] Week10_Day2 공부 요약

정현식·2023년 9월 6일

MwuProject10

목록 보기
2/4

프로그래머스 코딩 문제

9p 진행중

  • 이진수 더하기
function solution(bin1, bin2) {
    let binary = parseInt(bin1, 2) + parseInt(bin2, 2)
    var answer = binary.toString(2);
    return answer;
}
  • 컨트롤 제트
function solution(s) {
    var answer = 0;
    let arr = s.split(' ');
    for(let i =0; i<arr.length; i++){
        if(arr[i] !== 'Z'){
            answer+=parseInt(arr[i])
        }else{
            answer-=parseInt(arr[i-1])
        }
    }
    return answer;
}
  • 7의 개수
function solution(array) {
    var answer = 0;
    let str = array.join('').split('');
    for(let i =0; i<str.length; i++){
        if(str[i] == 7) answer++
    }
    return answer;
}
  • 소인수분해
function solution(n) {
    var answer = [];
    let a = n;
    let cnt =0
    for(let i = 2; i<=n; i++){
        if(cnt !==0){
            i=2;
            cnt = 0;
        }
        if(a%i==0){
            a=a/i;
            answer.push(i)
            cnt++
        }
    }
    let result = new Set([...answer]);
    return [...result];
}
  • qr code
function solution(q, r, code) {
    var answer = '';
    for(let i=r; i<code.length; i+=q){
        answer += code[i];
    }
    return answer;
}
  • 조건에 맞게 수열 변환하기
function solution(arr) {
    let answer = 0;
    let tmp = [...arr];
    let tmparr = arr;
    while (true) {
        for (let i = 0; i < tmp.length; i++) {
            if (tmp[i] >= 50 && tmp[i] % 2 === 0) {
                tmp[i] /= 2;
            } else if (tmp[i] < 50 && tmp[i] % 2 === 1) {
                tmp[i] = tmp[i] * 2 + 1;
            }
        }
        if (JSON.stringify(tmparr) === JSON.stringify(tmp)) {
            break;
        } else {
            tmparr = [...tmp];
            answer++;
        }
    }
    return answer;
}
  • 특수문자 출력하기
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('close', function () {
    console.log(`!@#$%^&*(\\'"<>?:;`)
});
profile
novice

0개의 댓글