Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

비전공 프론트엔드 개발자

JS 100 제 본문

카테고리 없음

JS 100 제

JJ_hyun 2022. 1. 8. 19:05
        // Q27. 객체 만들기
        // 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째는 그 학생의 수학점수가 공백으로 구분되어진다.
        // 두개를 합쳐 학생의 이름이 key 이고 value 가 수학점수인 객체를 출력해라.
        // 입력 : Yujin Hyewon
        //        70    100
        // 출력 : {'Yujin' : 70 , 'Hyewon' : 100}

        // var keys = prompt().split(" ");
        // var score = prompt().split(" ");
        // let obj = {};

        // for (let i = 0; i < keys.length ; i++){
        //     obj[keys[i]] = score[i]; // 값을 담을 객체변수 obj 는 what[i] 를 키로 갖고, 값을 score[i]로 받는다.
        // }

        // console.log(obj);

// -------------------------------------------------------------------------------------------------------------

        //Q28. 2-gram
        // 2-gram 이란 문자열에서 2개가 연속된 요소를 츌력하는 방법이다.
        // 예를 들어, Javascript 를 2-gram 으로 반복해 본다면 다음과 같은 결과가 나옵니다. !
        // 입력 javascript
        // 출력
        // J a
        // a v
        // v a
        // a s
        // s c
        // c r
        // r i
        // i p
        // p t
       
        //입력으로 문자열이 주어지면 2-gram 으로 출력하는 프로그램을 작성해 주세요.

        // const word = "안녕하세요";

        // for( let i = 0 ; i < word.length -1 ; i++){
        //     console.log(word[i], word[i+1]);
        // }

// -------------------------------------------------------------------------------------------------------------
       
        //Q29. 대문자만 지나가세요.
        // 알파벳 하나만을 입력하고 그 알파벳이 대문자면 YES, 소문자면 NO 를 출력하는 프로그램을 만들어 주세요.

        // const word = prompt('알파벳을 하나만 입력해 주세요!');

        // if(word === word.toUpperCase()){
        //     console.log("YES");
        // }else {
        //     console.log("NO");
        // }

// -------------------------------------------------------------------------------------------------------------

        //Q30. 문자열 속 문자 찾기.
        // 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 한다.
        // 그 문자가 시작하는 index를 반환하는 프로그램을 만들어라.
        // 입력
        // pineapple is yummy
        // apple
        // 출력
        // 4

        // const word = prompt('문장을 입력해 주세요');
        // const keyword = "맛";

        // console.log(word.indexOf(keyword));
        // indexOf : 문자열에서 특정한 문자를 검색해주는 함수.
        // 같은 문자열의 첫번째 인덱스를 반환하는 함수

// -------------------------------------------------------------------------------------------------------------

        //Q31. 자바스크립트의 복잡도
        // 다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 골라라.
        // 시간복잡도 - 알고리즘이 어떤 문제를 계산할떄 걸리는 시간을 의미, 비고 표기법으로 표현 할 수 있음. =
        // O(1) = 오원 이라고 읽고, 입력되는 데이터의 크기와 상관없이 이 알고리즘이 문제를 해결하는 속도가 모두 일정할때.
        // 1. arr[i] -> arr 배열의 i 번째 입력값만 접근을 하니, 속도가 일정 할 수 밖에 없음. ( 하나만 찾기 때문에. )
        // 2. arr.push(5) -> push 는 가장끝에 매개변수를 집어넣는다. 고로, 끝에만 계속 추가 하기 때문에 속도가 일정함.
        // 3. arr.slice() -> slice 는 매개변수 만큼 잘라서 새로운 배열을 반환한다. 조금만 자르면 많은 내용이 반환되므로 오원이 아니다.  
        // 4. arr.pop() -> pop 매소드는 배열의 가장 끝에 있는 원소를 제거한다. 끝에 있는 원소만 빼내기 때문에 일정하다.
        // 5. arr.includes(5) -> includes 매소드는 이 배열의 includes 의 매개변수가 들어있는지 확인하고 T or F 로 반환한다. 값이 많을 수록 탐색해야 하는 양도 많아진다. 고로 오원이 아니다.

// -------------------------------------------------------------------------------------------------------------

        //Q32. 문자열 만들기
        // 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해라.
        // 입력 : 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다.
        // 출력 : 5

        // const sen = '안녕하세요. 저는 양현준이라고 합니다. 반갑습니다.'
        // console.log(sen.split(' ').length);

// -------------------------------------------------------------------------------------------------------------

        //Q33. 거꾸로 출력하기
        // 한 줄에 여러개의 숫자가 입력되면, 역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성해라.
        // 입력 : 1 2 3 4 5
        // 출력 : 5 4 3 2 1

        // const num = prompt(''); //  입력 받을 값
        // const arr = num.split(" ").reverse();  // 입력받은 값의 빈 문자열을 넣고, reverse(뒤집다) 한다.
        // let reverseVal = '';  // 초기화를 위해 빈 문자열로 두었고, for 문에서 뒤집어진 문자열을 받는 변수가 될 예정.

        // for ( let i = 0; i < arr.length; i++) {
        //     reverseVal = reverseVal + arr[i] + " ";
        // }

        // console.log(reverseVal);

// -------------------------------------------------------------------------------------------------------------
       
        //Q34. sort 구현하기.
        // 값이 주어지면 순서대로 제대로 섰는지 확인하는 프로그램을 만들어라.
        //(키는 공백으로 구분하여 입력해라. )
        // 입력 : 176 156 155 158 190
        // 출력 : NO
        // 입력 : 155 156 158 176 190
        // 출력 : YES

        // 입력을 받을땐 문자열로 받으니깐 스플릿 매서드로 배열로 바꾸고 배열에서 sort 함수를 이용해서 원소의 크기를 정렬한다.
        // const unsorted = prompt('숫자를 입력해 주세요');
        // let sorted = "";

        // sorted = unsorted.split(" ").sort(function(a, b){
        //     return a - b;
        // }).join(' ');

        // console.log(sorted);

        // if ( unsorted === sorted) {
        //     console.log('Yes');
        // }else {
        //     console.log('No');
        // }
오랜만에 자바스크립트 공부를 하는 느낌이다. 그 동안 airbnb 클론 코딩 하느라 신경을 많이 못썻더니 뇌가 더 굳은 느낌,,, 이제부터라도 틈틈히 문제를 풀어봐야 겠다. 
조만간 airbnb 클론 코딩의 결과물도 올려야 겠다. 
아직 가야할 길이 멀기에 조급해 하지말며, 우직하게 가던 길 끝까지 지키며 갈 수 있길. 꼭 그러길. 화이팅 !!