본문 바로가기
코딩테스트/문제 풀이

문제 풀이를 위한 JavaScript 핵심 문법

by 학습하는 청년 2024. 12. 29.

최종 수정 : 24.12.29

문제 풀이를 위한 JavaScript 핵심 문법 알아보기


1. 알고리즘 코딩 테스트 문제의 입출력 형식

1) 알고리즘 문제에서는 적절한(약속된) 입출력 양식이 주어진다.

  1. 데이터를 입력 받거나 생성한다.
  2. 적절한 알고리즘을 사용하여 도출된 정답을 정확한 형식으로 출력한다.

2. 코딩 테스트용 JavaScript 기본 출력

  • 일반적인 알고리즘 문제를 풀 때, 표준 출력으로 console.log()를 이용한다.

3. 코딩 테스트용 JavaScript 기본 사칙 연산

  • JavaScript 프로그래밍 언어에서는 기본적인 사친 연산 기능을 제공한다.

4. 코딩 테스트용 JavaScript 빠른 출력

  • JavaScript로 코딩 테스트 문제를 풀 때, 출력 과정만으로 시간 초과를 받을 때가 있다.
  • 출력 시간을 단축하기 위해 다음과 같은 방법을 유용하게 사용할 수 있다.
let answer = '';

/*
열 출력 결과를 한 줄에 하나씩 출력할 때 매 번 console.log()를 실행하지 않고
하나의 문자열에 결과를 저장해서 한꺼번에 출력하는 것이 대개 더 빠르게 수행된다.
*/

for (let i = 1; i <= 100; i++) {
  answer += i + `\n';
}

console.log(answer);

5. 코딩 테스트용 JavaScript 기본 입력 - fs 모듈

  • 입력 데이터가 텍스트 파일 형태로 주어지는 경우, 파일 시스템 모듈을 사용한다.
  • 예를 들어 /dev/stding 파이레 적힌 텍스트를 읽어오는 경우, 다음과 같이 코드를 작성한다.
  • 기능 : 전체 텍스트를 읽어 온 뒤에, 줄바꿈 기호를 기준으로 구분하여 리스트로 변환하기
// readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
// let input = fs.readFileSync('input.txt').toString().split('\n');

console.log(input);

6. 코딩 테스트용 JavaScript 기본 입력 - readline 모듈

한 줄씩 입력을 받아서, 처리하여 정답을 출력할 때는 readline 모듈을 사용할 수 있다.

const rl = require('readline').createInterface({
  input: process.stding,
  output: process.stdout
});

let input = [];
rl.on('line', function(line) {
  // 콘솔 입력 창에서 줄바꿈(Enter)를 입력할 때마다 호출
  input.push(line);
}).on('close', function() {
  // 콘솔 입력 창에서 Ctrl + C 혹은 Ctrl + D를 입력하면 호출(입력의 종료)
  console.log(input);
  process.exit();
});

7. JavaScript 문법

1) 조건문

  • 조건에 따라서 프로그램의 흐름을 결정할 때 사용할 수 있는 문법이다.

2) for 반복문

  • 조건에 따라서 특정한 코드를 반복하고자 할 때 사용할 수 있는 코드다.

3) while 반복문

  • 조건에 따라서 특정한 코드를 반복하고자 할 때 사용할 수 있는 코드다.

4) Number와 String 형태 변환

  • 수(number) 데이터와 문자열(string) 데이터간의 상호 변환이 필요하다.

5) Array.prototype.reduce()

  • 배열의 모든 원소에 대해 특정한 연산을 순차적으로 적용할 때 reduce()를 사용한다.

6) 배열 초기화 방법

알고리즘 문제를 풀 때 자주 사용되는 배열 초기화 방식은 다음과 같다.

// 직접 값을 설정하여 초기화
let arr = [8, 1, 4, 6, 7]

// 길이가 5이고 모든 원소의 값이 8인 배열 촉화
let arr = new Array(5).fill(8);

 

7) 집합 자료형

  • 특정한 원소의 등장 여부를 파악할 때 집합 자료형을 효과적으로 사용할 수 있다.

8) 소수점 아래 특정 자리에서 반올림

실수를 출력할 때 소수점 아래 특정 자리에서 반올림할 수 있다.

// 특정 실수에 대하여 toFixed()를 이용해 소수점 아래 둘째 자리까지 출력
let x = 123.456
console.log(x.toFixed(2));

 

9) 이스케이프 시퀀스(Escape Sequence)

예약 문자 혹은 특수 문자를 출력하기 위하여 이스케이프 스퀀스를 사용할 수 있다.

시퀀스 문자
\t
\\ 역 슬래시
\" 큰 따옴표
\' 작은 따옴표

ex) cosole.log("그는 \"비범함\"을 보였다."); => 그는 "비범함"을 보였다.


 

참고

패스트 캠퍼스(Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기) Ch 01. 2강

'코딩테스트 > 문제 풀이' 카테고리의 다른 글

JavaScript 반복문 문제 풀이  (0) 2024.12.30
JavaScript 조건문 문제 풀이  (0) 2024.12.29
JavaScript 입출력 문제 풀이  (0) 2024.12.29

댓글