자바스크립트를 처음 하다보니 좀 어려운게 많았다.
그래도 문제를 풀면서 배운 것을 정리해보고자 한다.
1) Node.js 설치
https://nodejs.org/ko
에서 18.16.1 버전으로 설치했다.
2) vscode에서 가능하게 하기
https://curryyou.tistory.com/169
해당 글을 참고하여 vscode 확장을 설치했다.
설치한 확장 프로그램: Code runner, Open in browser
환경 갖추는 것은 각자 사이트를 참고해서 했다. Git은 기존에 설치해둔게 있어서 따로 설치하지는 않았다.
거의 처음이다보니, 변수 선언, 반복문, 함수 등을 구현할 때 참고했다.
[기본 문법 참고 사이트]()
1) 콘솔로 입력 받기
참고: (https://lakelouise.tistory.com/140)
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
console.log("input: ", line);
rl.close();
});
rl.on('close', () => {
process.exit();
})
해당 사이트에서 readline을 통해 받을 수 있었다.
콘솔로 입력을 받는 형식으로 진행했다.
뭔가 기존에 하던 파이썬, C++과는 좀 다른 방향이라 적응하는데 시간이 걸릴 것 같다.
2) 문자열 처리
참고: https://umanking.github.io/2022/07/17/javascript-string-substring/
해당 사이트로 문자열을 처리하는 함수를 참고했다.
split, slice를 주로 사용했다. 파이썬과 비슷할지도...?
// 한글 체크
function checkKor(str) {
const regExp = /[ㄱ-ㅎㅏ-ㅣ가-힣]/g;
if(regExp.test(str)){
return true;
}else{
return false;
}
}
값이 한글인지 영어인지 구분하는 정규식이라는게 있다고 해서 사용을 했다.
이거를 잘 활용할려면 따로 공부를 더 해봐야할 것 같다.
function unionSet(setA, setB){
let union = new Set(setA)
setB.forEach(e=>{
union.add(e)
})
return union
}
let setA = new Set([1,2,3])
let setB = new Set([2,3,4,5])
console.log(unionSet(setA,setB)) //{1,2,3,4,5}
중복을 제거하기 위해 set 구조가 있는지 해서 찾아봤는데, 있어서 사용했다.
좀 다른 점은 합집합을 하는데 함수를 사용해야 했었다.
var numbers = [1, 10, 2, 20, 3, 30];
numbers.sort(function compare(a, b) {
if(a > b) return 1;
if(a < b) return -1;
return 0;
});
console.log(numbers); // [1,2,3,10,20,30]
배열 정렬도 sort로 바로 하면 원하는데로 안되서 함수로 추가적인 처리를 해줘야 했다....
자바스크립트를 처음 해보다보니 이것저것 오류가 많이 났었다.
참고한 사이트는 다 링크를 걸어두었다.
체크리스트를 먼저 다 적고 해보라는데, 계속 체크리스트가 추가되었었다.....
이제 천천히 적응해 나가면 될 것 같다!