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
- 자바스크립트
- 취준생
- Jupyter notebook
- Javascript
- HTTP/1.0
- IT
- 컴퓨공학과
- Nginx
- 컴퓨터공학과
- 운동
- HTTP/0.9
- HTTP/3.0
- docker
- 프론트엔드
- 헬스
- gunicorn
- http 메소드
- HTTP
- 백준
- CS기술면접
- CS
- HTTP버전
- Nginx개념
- HTTP/2.0
- 도커 컨테이너
- 도커명령어
- 도커기본개념
- Python
- 코딩테스트
- JavsScript
Archives
- Today
- Total
dogo_ day
JavaScript 코딩테스트 4. 문제(백준 2438번) 본문
🔅알고리즘 난이도 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 <= n; i++){
star += '*'
console.log(star);
}
이 코드는 매번 console.log(star) 가 실행된다.
만약 n의 값이 크거나 for문 안에 처리해야하는 로직이 복잡할 경우 성능이 떨어질 수 있다.
그래서 결과값을 하나의 스트링에 저장하고 마지막에 console.log를 하는 방법이 있다.
// CASE 02
let result = '';
for(let i=0; i<n; i++){
for(let j=0; j<=i; j++){
result += '*';
}
result += '\n';
}
console.log(result);
case01은 136ms 이고 case02는 120ms 이다.
수행시간에 영향을 주는 다양한 요소가 존재하겠지만 이후에 알고리즘 문제에서 시간초과가 난다면 case02를 고려하는 것을 추천한다.
대표적인 백준문제가 15552 이다.
참고자료
패스트캠퍼스 - JavaScript 코딩테스트 131개 예재 & CS지식으로 끝내기
'IT > 코딩테스트_' 카테고리의 다른 글
JavaScript 코딩테스트 6. 문제(백준 3052번) (0) | 2023.04.29 |
---|---|
JavaScript 코딩테스트 5. 문제(백준 10818번) (0) | 2023.04.28 |
JavaScript 코딩테스트 3. 문제(백준 2525번) (0) | 2023.04.28 |
JavaScript 코딩테스트 2. 기본 문법 (0) | 2023.04.28 |
JavaScript 코딩테스트 1. 개요 및 입출력 (0) | 2023.04.28 |