일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTTP/0.9
- HTTP/1.0
- 컴퓨터공학과
- HTTP/3.0
- CS
- Nginx
- 취준생
- 도커기본개념
- docker
- 백준
- 컴퓨공학과
- JavsScript
- Python
- http 메소드
- 도커 컨테이너
- HTTP/2.0
- CS기술면접
- 코딩테스트
- HTTP
- 자바스크립트
- 운동
- 헬스
- HTTP버전
- 도커명령어
- Jupyter notebook
- Nginx개념
- Javascript
- IT
- 프론트엔드
- gunicorn
- Today
- Total
목록취준생 (9)
dogo_ day

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 자바스크립트에서 sort()의 시간복잡도는 (nlogn) 이다. sort의 동작 원리(compareFunction)를 알고있다면 응용해서 문제를 해결할 수 있다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort Array.prototype.sort() - JavaScript | MDN sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다. developer.mozilla.org 그리고 결과를 출력할 때 매번 consol..

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 문자열을 반복해서 출력하면 된다. String.prototype.repeat()을 사용하면 쉽게 풀 수 있다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); let n = Number(input[0]) let result = '' // R번 반복 for(let i = 1; i

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 문자열에 대한 기본적인 알고리즘이다. 입력받은 문자열에 대해 하나씩 꺼내어 Number형으로 arr배열에 삽입한다. 이후에 reduce를 사용하여 연산 후 출력한다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); let n = input[0]; let arr = input[1].split('').map(Number); let summary = arr.reduce((a,b)=>a+b); console.log(summary); for of을 이용하여 풀이할 수도 있다. for...of 의 공식 정의는 다음과 같다. for...of 명령문은 반복가능한 객체(..

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 너무나도 쉬운 문제였다. 하지만 나는 계속 틀렸다.100번을 쳐다봐도 로직에는 문제가 없었다. 그 이유는 바로 파일을 읽어올 때 trim()을 사용하지 않아서 였다. trim()을 사용하지 않으면 공백, 빈문자열에 대한 오류를 걸러내지 못해서였다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); let data = input.map(Number); let mySet = new Set(); for(let d of data){ mySet.add(Number(d) % 42); } console.log(mySet.size);

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 문제해결 아이디어는 간단하다. 하지만 내가 블로그를 쓰는 이유는 배열의 메소드를 무분별하게 사용하면 성능이 안좋다는 것을 알았기 때문이다. 위 문제를 해결하기 위해 배열의 메소드 중 sort를 사용했다. 문제는 해결하였으나 시간측정이 오래걸리는 것 같아 꺼림직해서 sort를 사용하지 않고 했다. (강의 모범답안) 유의미한 시간차이가 있다. 배열의 메소드를 무분별하게 사용하면 안될 것 같다. 참고자료 패스트캠퍼스 - JavaScript 코딩테스트 131개 예재 & CS지식으로 끝내기

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 아이디어는 간단하다. 입력받은 n개의 행 만큼 별을 +1 씩 증가시키면서 출력하는 것 이다. // CASE 01 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); n = Number(input[0]); let star = ''; for(let i = 1; i

🔅알고리즘 난이도 Lv. 1 🌈문제풀이 아이디어는 입력받는 현재시각을 분으로 만들어서 요리하는 데 필요한 시간을 더하면 된다. 그리고 하루는 1440분 이므로 %을 이용하여 00:00 ~ 23:59 사이의 시간이라는 조건을 만족시킨다. 그리고 시 분 형태로 바꾸어서 출력한다. 다른 방법은 위 아이디어의 정확히 반대이다. 요리하는 데 필요한 시간을 시 분 형태로 바꾼다. 60의 몫과 60의 나머지를 이용하면 시 분을 구할 수 있다. 그리고 현재시각과 요리하는데 필요한 시각을 더하여 출력한다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); let [oven_hour, oven_minute] = ..

🔅코딩테스트 JavaScript 기본 문법 🌈Number와 String 형태 변환이 자유로워야 한다. // 숫자를 문자열로 let a = '123' let b = Number(a); console.log(b); // 123 // 문자열을 숫자로 let a = 123; let b = String(a); console.log(b); // "123" 🌈Array.prototype.reduce() 배열의 각 요소에 대해 주어진 리듀서함수를 실행하고, 하나의 결과값을 반환한다. reducer의 형태는 다음과 같다. (accumulator, currentValue) => 반환값 const array1 = [1, 2, 3, 4]; // 0 + 1 + 2 + 3 + 4 const initialValue = 0; con..