본문 바로가기

아래로 스크롤 해주세요!

My Reference Book

-

제가 배웠던것을 한곳에 정리해보았어요!

HTML

HTML 태그 톺아보기

HTML

자세히보기

CSS

CSS 속성 톺아보기

CSS

자세히보기

JAVASCRIPT

JS 실행문 톺아보기

JAVASCRIPT

자세히보기

최신댓글

TIP

오답노트 정리 03

by C0Di 2022. 10. 24.
728x90

오답노트

그저,,반성 🥲


1번

filter 메서드를 사용한 중복된 숫자를 제거하는 문제입니다.

1. arr배열의 값을 solution의 매개변수로 호출한뒤
2. filter를 이용하여 item(배열의 값들)과 arr(기존위치+1 값)의 각각의 결과값이 다른것만 추출합니다.
3. 답은 1,3,0,1

const arr = [1,1,3,3,0,1,1];
        
    function solution(arr){
        return arr.filter((item,idx) => item !== arr[idx+1]);
    }

    console.log(solution(arr))

6번

splice 와 join 메서드를 사용한 가운데찾기 문제유형입니다.

1. webstoryboy값을 매개변수 s로 호출한뒤 펼침연산자로 arr이라는 배열안에 값을 저장해줍니다.
2. arr에 들어있는 배열의 갯수는 총 11개가 나오는데
3. if의 조건은 11 % 2 = 0(false) 이므로 아닐경우를 실행합니다.
4. 아닐경우 실행할 값은 arr 배열의 길이에 2를 나눠 정수로 바꿔준 값 5에서 1번째 자리에 있는 값을 잘라 answer에 넣어준 뒤 hoin을 통해 결합시켜줍니다.
5. 답은 o

const num = "webstoryboy";

    function solution(s) {
        let answer;
        let arr = [...s]
        if(arr.length % 2 == 0) {
            answer = arr.splice(arr.length/2-1, 2);
        } else {
            answer = arr.splice(Math.floor(arr.length/2), 1);
        }
        return answer.join("");
    }

    console.log(solution(num))

8번

for문과 splice를 이용해서 제일 작은수를 제거해주는 문제 유형입니다.

1. num배열을 solution의 arr이라는 매개변수로 호출 시킵니다.
2. sm은 arr배열의 0번째(5), index는 0의 값을 대입합니다.
3. for을 통해 하단의 문제를 반복시키기 위해 조건은 i의 값이 arr 배열의 길이(4)만큼 i를 1씩 증가시킵니다.
4. 만약 arr의 i번째 배열의 값이 sm의 미만일때 sm에는 arr의 i번째 값을 대입하고 index에는 i의 값을 넣어줍니다.
5. 계산시 모두 false가 나와 index의 값은 0 이되며
6. splice를 통한 정답은 9,7,10이 나오게 됩니다.

 const num = [5, 9 ,7, 10];

    function solution(arr) {
        let sm = arr[0], index = 0;

        for(i=0; i<arr.length; i++){
            if(arr[i] < sm) {
                sm = arr[i];
                index = i;
            }
        }
        arr.splice(index, 1);
        return arr;
    }
    console.log(solution(num))

9번

split과 join메서드의 개념을 묻는 문제입니다.

1. 먼저 split 메서드를 이용해서 매개변수로 받아온 webstrybody를 쪼개서 배열안에 넣어줍니다.
2. for문에 의해 0~7번째 자리는 *로 차게 되어 ['*', '*', '*', '*', '*', '*', '*', 'y', 'b', 'o', 'y']가 됩니다.
3. 여기서 join 메서드를 거치면 *******yboy가 됩니다.

const num = "webstoryboy";

    function solution(s) {
        let answer = s.split("");

        for(i=0; i<answer.length-4; i++){
            answer[i] = "*";
        }
        return answer.join("");
    }
    console.log(solution(num))

10번

중복되는 문자 찾기 유형입니다.

1. sort로 오름차순 정렬을 시킵니다
2. 그럼 a와 b의 배열에 포함된 숫자들이 차례대로 나열되는데
3. a배열과 b배열을 비교해서 1씩 차이를 두어 p1 p2를 증가시키면서 push를 통해 answer에 값을 넣게되고
4. 사실상 중복된 값이 제거된 2,3,5가 출력됩니다.

 function solution(arr1, arr2){
    let answer = [];
    arr1.sort();
    arr2.sort();
    let p1 = p2 = 0;

    while(p1 <0 arr1.length && p2 < arr2.length){
        if(arr1[p1] == arr2[p2]){
            answer.push(arr1[p1++]);
            p2++;
        }
        else if(arr1[p1] < arr2[p2]) p1++;
        else p2++;
    }
    return answer;
}

let a=[1,3,9,5,2];
let b=[3,2,5,7,8];

console.log(solution(a,b));
728x90
반응형

댓글

#HASH_TAGS

-

1

오늘 조업 마감했습니다. 화사한가요? 메서드 오징어 한마리 수확 완료! 코딩 공부 Method 오늘도 웹표준은.. HTML 다크모드 울적하니 꽃을 달아봤습니다 scroll-snap-align JQuery 내일은 즐거운 월요일 오징어 두마리 포획 완료 코드 오늘은 내가바로 오징어! 선택해주세요 제이쿼리 이건 또 뭐람 오징어 1Kg 당 3000원 멈추지 않는 ' j ' 시리-즈 ImageSlideEffect 필터선택자 슬라이드 결과 : 월요일 scroll-snap-type 숙제가 다양해서 너무 좋아요