알고리즘 문제에서는 적절한(약속된) 입출력 양식이 주어진다.
1. 첫번째 단계에서는 데이터를 입력 받거나 생성하는 것
2. 이후에 적절한 알고리즘을 사용하여 도출된 정답을 정확한 형식으로 출력한다.
N명의 학생의 성적 데이터가 주어졌을 때, 내림차순 정렬한 결과를 출력하여라.
- 입력형식 ) 첫째 줄에는 학생의 수 n, 둘째 줄에 공백을 기준으로 하여 n명의 학생에대한 성적이 정수형태로 주어진다.(2 <= n <=1,000, 0<=성적 <= 100)
- 출력 형식 ) n명의 학생의 성적을 내림차순 정렬한 결과를 첫째 줄에 공백을 기준으로 구분하여 출력하여라
알고리즘을 아무리 잘짰더라도 오답 판정을 받는다.
다양한 사칙연산
a=7;
b=3;
console.log(parseInt(a/b)) //몫만 챙기기
console.log(a%b) //나머지만
-자바스크립트로 코딩 테스트 문제를 풀 때, 출력 과정만으로 시간 초과를 받을 때가 있다.
let answer = '';
for(let i = 1 ; i<=100; i++) {
answer += i + '\n' ; //문자열로 변환하여 기록
}
console.log(answer);
//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);
const rl = require('readline').createInterface({
input:process.stdin
output:process.stdout
});
let input = [];
rl.on('close', function(line){
//콘솔 입력 창에서 줄바꿈(엔터)를 입력할 때 마다 호출
input.push(line);
}).on('close',function(){
//콘솔 입력 창에서 ctrl + c , ctrl + d를 입력한 호출(입력의 종료)
console.log(input);
process.exit();
})
이렇게 한줄 한줄 입력할때마다 함수가 실행됐고 입력 종료를 하면 한줄에 다 나옴
let a = "777";
let b = Number(a)
let a = 777;
let b = String(a);
let data = [5,2,9,8,5];
//minvalue구하기 (작은 값)
let minValue = data.reduce((a,b) => Math.min(a,b))
console.log(minValue) // 2
//원소의 합계 구하기
let summary = data.redue((a,b) => a+b);
console.log(summary) // 28
let arr = [1,2,3,4,5]
//모든 원소의 값이 0인 배열 초기화
let arr = new Araay(5).fill(0);
let mySet = new Set();
mySet.add(3);
mySet.add(5);
mySet.add(7);
mySet.add(3);
//중복된 값은 추가하지 않음.
포함하는지 여부는?
mySet.has(7);
원소 제거
mySet.delete(5);
//원소를 하나씩 출력
for(let item of mySet) console.log(item)
let x = 123.456
console.log(x.toFixed(2)); //123.46
예약 문자 혹은 특수 문자를 출력하기 위하여 이스케이프 시퀀스를 사용할 수 있다.