Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- HTTP/1.0
- CS기술면접
- 헬스
- Nginx
- 컴퓨공학과
- Python
- Nginx개념
- CS
- HTTP/0.9
- Jupyter notebook
- JavsScript
- 코딩테스트
- docker
- HTTP/2.0
- 도커 컨테이너
- gunicorn
- 백준
- HTTP
- http 메소드
- 도커기본개념
- 취준생
- 컴퓨터공학과
- IT
- 운동
- 자바스크립트
- HTTP버전
- Javascript
- HTTP/3.0
- 도커명령어
- 프론트엔드
Archives
- Today
- Total
dogo_ day
JavaScript 코딩테스트 1. 개요 및 입출력 본문
🔅코딩테스트 JavaScript 개요
코딩테스트에서는 알고리즘 문제가 나온다.
알고리즘 문제에서는 입출력 양식이 주어진다.
그리고 적절한 알고리즘을 사용하여 문제에서 요구하는 형식으로 출력해야한다.
JavaScript 기본 출력은 표준 출력인 console.log()를 사용한다.
// 단순 문자열 출력
console.log('Hello World');
let result = 'doyun'
// 문자열 내부에 변수를 포함 (백틱 사용)
console.log(`이름은 ${result}입니다.`);
JavaScript는 기본적인 사칙 연산이 가능하다.
+ - * / % 등 그리고 몫만 남기기위해서는 parseInt를 사용하면 된다.
여러줄의 출력을 할 때가 있다.
console.log('...');
console.log('...');
console.log('...');
console.log('...');
console.log('...');
이렇게 출력을 한다면 출력 과정에서만 시간 초과를 받을 수 있다.
메모리를 많이 사용하는 대신 시간을 절약 할 수 있는 방법이 존재한다.
🌈결과값을 문자열에 계속 담아서 한번만 출력하는 방법이다.
백틱을 이용하여 \n(줄바꿈)을 사용하였다.
let result = '';
for(let i = 0; i < 10; i++) {
result += `${i+1}번째\n`
}
console.log(result);
🌈 입력데이터가 텍스트 파일 형태로 주어진다면 어떻게 해야할까: fs 모듈
텍스트 파일 형태로 주어질 경우 파일 시스템 모듈을 사용해야한다.
예를 들어 /dev/stdin 파일에 적힌 텍스트를 읽어봐야한다면 fs 모듈을 이용해서 파일을 읽은 후 줄바꿈을 기준으로 구분해서 리스트로 변환하면 된다. ( readline 방식도 존재하지만 한꺼번에 읽어오는 형식인 fs 모듈이 속도가 보통은 빠르다. )
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
🌈 데이터를 직접 입력하여 처리해야한다면 어떻게 해야할까: readline 모듈
// CASE 1
const rl = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', line => {
input.push(line);
}).on('close', close => {
console.log(input);
process.exit();
});
// CASE 2
const readline = require('readline');
(async () => {
let rl = readline.createInterface({ input: process.stdin });
for await (const line of rl) {
console.log('Hello Doyun, Your input is', line);
rl.close();
}
process.exit();
})();
참고자료
패스트캠퍼스 - JavaScript 코딩테스트 131개 예재 & CS지식으로 끝내기
'IT > 코딩테스트_' 카테고리의 다른 글
JavaScript 코딩테스트 6. 문제(백준 3052번) (0) | 2023.04.29 |
---|---|
JavaScript 코딩테스트 5. 문제(백준 10818번) (0) | 2023.04.28 |
JavaScript 코딩테스트 4. 문제(백준 2438번) (1) | 2023.04.28 |
JavaScript 코딩테스트 3. 문제(백준 2525번) (0) | 2023.04.28 |
JavaScript 코딩테스트 2. 기본 문법 (0) | 2023.04.28 |