일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- input
- Em
- 프로그래머스 코딩테스트
- 알고리즘
- carousel slider
- javascript
- @mixin
- HTML
- SASS
- 인라인
- string
- VSCODE단축키
- css
- inline
- 전개연산자
- 코딩테스트
- TAG
- ::before
- scss
- html 태그
- 인라인블록
- 문자열
- 자바스크립트
- object
- float
- 프로그래머스
- js
- layout
- vscode
- 합계 알고리즘
- Today
- Total
목록javascript (21)
Outputor

알고리즘 평가 지표 알고리즘 성능을 평가하기 위한 지표로 [ 정확성, 작업량, 메모리사용량, 최적성, 효율성 ]이 있는데 그 중에서도 효율성에는 ( 공간 복잡도, 시간 복잡도 )가 있다. 두 가지 중 시간 복잡도에 대해서 알아보자 [ ✔ ] 알고리즘 복잡도 (시간 복잡도) 시간 복잡도란 단위 연산을 몇 번 수행하는지 계산해서 평가하는 방법으로 3가지 점근적 표현법이 있다. 👉 몇 번 수행하는지 계산하기 때문에 for문을 많이 사용할수록 효율성 점수가 떨어진다. ▪ 빅오 : 최악의 상황일 때의 성능을 측정한다. ▪ 세타 : 평균적인 상황일 때의 성능을 측정한다. ▪ 오메가 : 최선의 상황일 때의 성능을 측정한다.

json-server란? json-server란 짧은 시간안에 REST API를 구축해주는 패키지로 실제 프로덕션에서는 사용하지 않는다. npm을 통해 설치할 수 있다. [ ✔ ] json-server 설치하기 npm install -g json-server 👉 터미널에 위에 내용을 입력한다 [ ✔ ] db.json 파일 만들기 { "test": [ { "content": "테스트 1", "id": 1 }, { "content": "테스트 2", "id": 2 }, { "content": "테스트 3", "id": 3 } ] } 👉 db.json 파일에 위와 같은 형식대로 입력하자. ("test"나 "content" 등 이름과 값은 원하는 걸로 바꾸면 된다) [ ✔ ] json-server 시작하기 js..
숫자만 추출하기 문제 : 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만드시오. "a0b1c2d3e4"에서 숫자만 추출하면 0, 1, 2, 3, 4이고 이것을 자연수로 만들면 1234가 된다. 해설 첫 번째 방법 1. 팰린드롬에서 풀었던 방법으로 숫자를 제외한 모든 문자열을 제거한다. https://outputor.tistory.com/151 두 번째 방법 1. 문자열 하나 하나 숫자인 경우 변수에 더한다. 2. 더해진 변수를 자연수로 바꾼다. 세 번째 방법(자연수를 만들 때 parseInt를 사용하지 않는 경우) 1. 더할 변수에 10을 곱해줘서 자리수를 한 자리씩 늘린 후 숫자를 더한다. 팰린드롬 알고리즘 (문자열 탐색) - replaceAll 처럼 repla..
삼각형 판별하기 문제 : 길이가 서로 다른 a, b, c 세 개의 길이가 주어질 때 삼각형을 만들 수 있으면 YES를 아니면 NO를 출력하자 해설 삼각형 조건: 삼각형에서 가장 긴 변의 길이는 나머지 두 변의 길이의 합보다 작다 1. a,b,c중 가장 큰 값을 max변수에 할당한다. 2. 두 변의 길이의 합보다 max변수가 작으면 YES를 크면 NO를 출력한다. CODE function solution(a, b, c) { let answer = 'YES'; let max; let sum = a + b + c; if (a > b) max = a; else max = b; if (c > max) max = c; if (sum - max < max) return 'NO'; return answer; } con..
팰린드롬 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 한다. 문제 : 입력된 문자열이 팰린드롬이면 "YES"를 아니면 "NO"를 출력하시오. (알파벳 이외의 문자들을 무시하고, 대소문자 구분하지 않는다.) 해설 1. 알파벳 대소문자를 구분하지 않기 때문에 대문자 또는 소문자로 변경한다. 2. 알파벳 이외의 문자들을 무시하기 때문에 알파벳 외의 문자를 제거한다. 3. 알파벳만 남은 문자열과 뒤집은 문자열이 같으면 "YES"를 다르면 "NO"를 출력한다. INSIGHT 1. 자바스크립트에서는 replaceAll이 안되기 때문에 replace를 사용할 때 /g로 동일한 기능 수행 가능함 2. 팰린드롬인지 비교할 때 for문을 반만 돌려서 처음과 끝을 비교하면서 다른 문자가 있으면 NO를 출..
세 수 중 최솟값 구하기 문제 : 100이하의 자연수 a, b, c를 입력받아 세 수 중 가장 작은 값을 출력하기 (정렬 사용하면 안됨) 해설 1. 첫 번째 값과 두 번째 값을 비교해서 작은 값을 변수에 할당한다 2. 변수에 할당한 값과 세 번째 값을 비교해서 작은 값을 변수에 할당한다 CODE function solution(a, b, c) { let answer = a; if (b < answer) answer = b; if (c < answer) answer = c; return answer; } console.log(solution(2, 5, 1));
[문제 설명] 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. [제한사항] 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", ..
[문제 설명] 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. [제한 조건] 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE"