js100제 풀이

업데이트:


문제 31

답 : 4번
O(1)은 배열의 element가 얼마나 많은지와 관계없이 첫 번째 element만 필요하므로 작업은 한 번만 이루어진다. 이러한 경우를 Constant Time이라 한다.



문제 32

<script>
    var str = prompt().split(' ');
    console.log(str.length);
</script>



문제 33

    <script>
        var num = prompt().split(' ');
        var rNum = num.reverse();

        console.log(rNum);
    </script>



문제 34

<script>
    var height = prompt().split(' ');

    var flag = true;
    for(var i=0; i<height.length-1; i++){
        if(height[i] > height[i+1]){
            flag = false;
            break;
        }
    }
    if(flag) console.log("YES")
    else console.log("NO")
</script>

문제 35

<script>
    function one(n) {
        function two(n2) {
            var a = Math.pow(n2, n);
            return a;
        }
        return two;
    }

    var a = one(2);
    var b = one(3);
    var c = one(4);

    console.log(a(10));
    console.log(b(10));
    console.log(c(10));
</script>

내장 함수까지는 이해했는데 console.log(a(10)); 이부분에서 a는 함수가 아닌데 왜(10)을 하는지.. 그리고 저 10이라는 값이 two의 매개변수로 전달되는지 이해를 못했다…친구 도움으로 겨우 푼 문제…


문제 36

<script>
    var a = prompt();
    var result = '';
    for(var i = 1; i <= 9; i++){
        result += a * i + ' ';
    }
    console.log(result);
</script>



문제 37

<script>
    var input = prompt().split(' ');
    var stdSet = new Set();
    var stdArr = new Array();
    var idx = 0;
    for(var i=0; i<input.length; i++){
        stdSet.add(input[i]);
    }

    stdSet.forEach(function(e){
        stdArr[idx++] = e;
    })

    var cntArr = new Array();
    for(var i=0; i<stdArr.length; i++){
        var cnt = 0;
        for(var j=0; j<input.length; j++){
            if(stdArr[i] == input[j]){
                cnt++;
            }
        }
        cntArr[i] = cnt;
    }

    var saveIdx = 0;
    var max = cntArr[0];
    for(var i=1; i<stdArr.length-1; i++){
        if(max < cntArr[i]) {
            saveIdx = i;
        }
    }
    
    console.log(stdArr[saveIdx] + "(이)가 총 " + cntArr[saveIdx]
                    + "표로 반장이 되었습니다.");
</script>



문제 38

<script>
    var scoreArr = prompt().split(' ');
    var top3 = new Set();
    var cnt = 0;
    scoreArr.sort(function(a,b){return a-b;})
    scoreArr.reverse();
    
    for(var i = 0; i<scoreArr.length; i++){
        if(top3.size < 3){
            top3.add(scoreArr[i]);
        }
    }

    top3.forEach(function(e){
        for(var i = 0; i < scoreArr.length; i++){
            if(e == scoreArr[i]){
                cnt++;
            }
        }
    });
    
    console.log(cnt);
</script>



문제 39

<script>
    var str = prompt();
    var strArr = new Array();
    for(var i = 0; i < str.length; i++){
        strArr[i] = str.charAt(i);
        if(strArr[i] == 'q'){
            strArr[i] = 'e';
        }
    }

    var result = '';
    for(var i of strArr){
        result += i;
    }
    console.log(result);
</script>



문제 40

<script>
    var limit = prompt('제한 무게');
    var memNo = prompt('인원수');

    var weight = 0;
    var cnt = 0;
    for(var i=0; i<memNo; i++){
        weight += Number(prompt('무게'));
        if(weight <= limit){
            cnt++;
        }
    }
    console.log(cnt);
</script>

태그: ,

카테고리:

업데이트:

댓글남기기