boostcamp Day01 학습정리

ttobe·2023년 7월 10일
0

boostcamp

목록 보기
1/15
post-thumbnail

자바스크립트를 처음 하다보니 좀 어려운게 많았다.
그래도 문제를 풀면서 배운 것을 정리해보고자 한다.

1. JavaScript 사용 환경 갖추기

1) Node.js 설치   
    https://nodejs.org/ko   
    에서 18.16.1 버전으로 설치했다.   

2) vscode에서 가능하게 하기  
    https://curryyou.tistory.com/169   
    해당 글을 참고하여 vscode 확장을 설치했다.   
    설치한 확장 프로그램: Code runner, Open in browser   
   
환경 갖추는 것은 각자 사이트를 참고해서 했다. Git은 기존에 설치해둔게 있어서 따로 설치하지는 않았다.

2. 기본적인 문법 참고

거의 처음이다보니, 변수 선언, 반복문, 함수 등을 구현할 때 참고했다.
[기본 문법 참고 사이트]()

3. 입력값 받기 위해서 처리하는 방법

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를 주로 사용했다. 파이썬과 비슷할지도...?
    

4. 한글 영어 판별

// 한글 체크
function checkKor(str) {
    const regExp = /[ㄱ-ㅎㅏ-ㅣ가-힣]/g; 
    if(regExp.test(str)){
        return true;
    }else{
        return false;
    }
}
값이 한글인지 영어인지 구분하는 정규식이라는게 있다고 해서 사용을 했다. 
이거를 잘 활용할려면 따로 공부를 더 해봐야할 것 같다.

5. 집합

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 구조가 있는지 해서 찾아봤는데, 있어서 사용했다.
좀 다른 점은 합집합을 하는데 함수를 사용해야 했었다.
  

6. 배열 정렬

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로 바로 하면 원하는데로 안되서 함수로 추가적인 처리를 해줘야 했다....

자바스크립트를 처음 해보다보니 이것저것 오류가 많이 났었다.
참고한 사이트는 다 링크를 걸어두었다.
체크리스트를 먼저 다 적고 해보라는데, 계속 체크리스트가 추가되었었다.....

이제 천천히 적응해 나가면 될 것 같다!

0개의 댓글