[프로그래머스 Lv.0] A로 B 만들기, k의 개수, 이진수 더하기, 종이 자르기

blockzzie·2023년 5월 14일
0

프로그래머스

목록 보기
52/52

A로 B 만들기

나의 답

function solution(before, after) {
if(before.split('').sort().join('') === after.split('').sort().join('')) {
    return 1
} else return 0
}

if 없애고 return 후 삼항 연산자로 풀이 가능

k의 개수

나의 답

function solution(i, j, k) {  
    var count = 0;
    for(i; i <= j; i++){
        var a = i+'';
        for(m = 0; m<a.length; m++){
        if(a[m].includes(k)) {
            count ++;
        }
    }}
    return count;
}

답은 맞긴 하였으나 찜찜한 답.. return Array(j-i+1).fill(i).map((v,i)=>v+i).join('').split(k).length-1; Array를 사용해서 푸는 법이 있다. array에 아직 익숙하지 않아서 익혀야겠음. 혹은 i 부터 j 까지 다 더해준 뒤 k로 split해서 구해주는 방법도 있다.

function solution(i, j, k) {
    let a ='';
    for(i;i<=j;i++){
        a += i;
    }
    return a.split(k).length-1;
}

이진수 더하기

나의 답

function solution(bin1, bin2) { 
    return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2)
}

이진수 -> 10진수로 만들고 -> 2진수로 다시 바꾸기

종이 자르기

나의 답

function solution(M, N) {
    return (M-1)*N + (N-1);
}

수도코드로 종이에 그려서 어떤 규칙을 보이는지 정리하였더니 답이 나왔다. 좀 더 정리하면 MN -N + N -1 이니까 M*N-1 로 정할 수 있겠다.

profile
막무가내 코딩노트

0개의 댓글