분류 전체보기
-
[JS 100제] 문제32 - 문자열 만들기🛠 develop/CodingTest 2023. 1. 2. 19:20
문제 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. 입출력 입력 : 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. 출력 : 5 나의 풀이 뭐,, 제대로 단어로 분리하려면 조사도 전부 분리하는 것이 맞지만, 문제 내에서 요구하는 것은 단지 띄어쓰기 기준의 단어를 말하는 듯 하여 해당 요구사항에 맞춰서 풀었다. 띄어쓰기 기준으로 split 해준 후 길이를 구하면 단어 구하기 끝이다. const self_intro = prompt('자소서를 입력하세요. 취준생들 화이팅!').split(' '); console.lo..
-
[JS 100제] 문제31 - 자바스크립트 자료형의 복잡도🛠 develop/CodingTest 2022. 12. 14. 17:37
문제 다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. arr[i] arr.push(5) arr.slice() arr.pop() arr.includes(5) 나의 풀이 정답은 3번 5번이다. arr[i] 와, arr.push(5), arr.pop() 등은 배열중 단 하나에 한번 접근하여 하나의 기능을 수행하기 때문에 시간복잡도가 O(1) 이지만, slice 와 includes 같은경우는 기능을 수행하기 위해 단 하나에 한번만 접근하지 않는다. 시간복잡도가 1일수도, 그 이상일수도 있다. 정답 3, 5 정답도 동일하다. JS 간단 복습 자바스크립트 자료형의 복잡도 (아래의 포스팅으로 공부했습니다!) https://m-ur-phy.tistory.com/entry/JavaScript-%..
-
JavaScript 배열 메소드의 시간복잡도🌐 FrontEnd/JavaScript 2022. 12. 14. 17:36
시작하면서 자바스크립트 배열 메서드에 관한 시간 복잡도를 공부합니다. 배열 메소드의 시간 복잡도 시간 복잡도란? 시간 복잡도란 간단하게 말해서 알고리즘이 어떤 문제를 해결하는 데 걸리는 시간을 말합니다. 시간 복잡도 표시는 빅오 표기법을 사용하였습니다. 알고리즘의 효율성을 표기해주는 표기법입니다. 배열 메서드 시간 복잡도 배열에서 많이 사용하는 메서드들의 시간 복잡도를 알아보도록 하겠습니다. 1. push() - O(1) 배열 끝에 새로운 요소를 추가해주는 메서드입니다. 일정한 O(1)의 복잡도를 갖습니다. 입력값이 증가하더라도 시간은 변하지 않습니다. const names = ['Luis','John','Jose']; names.push("Aaron"); console.log(names); // (4)..
-
[JS 100제] 문제30 - 문자열 속 문자 찾기🛠 develop/CodingTest 2022. 12. 7. 12:22
문제 문자 pineapple에는 apple이라는 문자가 숨어 있습니다. 원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다. 첫번째 입력에서는 문자열이 입력되고, 두번째에는 찾을 문자가 입력되어야 합니다. 그 문자가 시작하는 index를 반환하는 프로그램을 만들어 주세요. 입력 pineapple is yummy apple 출력 4 나의 풀이 const txt = prompt('문자열을 입력해주세요'); const ftxt = prompt('찾을 문자열을 입력해주세요'); console.log(txt.indexOf(ftxt)); 문자열을 입력 받는 변수 생성 찾을 문자열을 받는 변수 생성 indexOf 함수를 이용하여 단어가 시작되는 index값을 출력하면 끝이다. 정답 const data = ..
-
[JS 100제] 문제29 - 대문자만 지나가세요🛠 develop/CodingTest 2022. 12. 6. 17:00
문제 진구는 영어 학원 아르바이트를 하고 있습니다. 반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다. 알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요. 나의 풀이 const txt = prompt("영어 알파벳 한글자를 입력해주세요"); const alpha = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" ]; if (alpha.findIndex((element) => element == txt) == -1) { console.log..
-
[JS 100제] 문제28 - 2-gram🛠 develop/CodingTest 2022. 12. 6. 08:57
문제 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 txt = "javascript".split(""); for (let i = 0; i < txt.length; i++) { console.log(txt[i]); } // 출력 j a v a s c r i p t 받은 문자열을 split 으로 잘라준다. for 문을 이용하여 길이만큼 돌려준 후 글자 하나씩 출력해준다. 여기서 이제 2-..
-
[JS 100제] 문제27 - 객체 만들기🛠 develop/CodingTest 2022. 12. 5. 09:42
문제 첫번째 입력에서는 학생의 이름이 공백으로 구분되어 입력되고, 두번째에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다. 두 개를 합쳐 학생의 이름이 key이고 value가 수학 점수인 객체를 출력해주세요. 입력 Yujin Hyewon 70 100 출력 { 'Yujin': 70, 'Hyewon': 100 } 나의 풀이 const key = prompt("이름을 입력해주세요").split(" "); const value = prompt("점수를 입력해주세요").split(" "); let res = {}; for (let i = 0; i < key.length; i++) { res[key[i]] = value[i]; } console.log(res); key 값 즉, 이름을 받을 변수와 value..