자료구조/알고리즘 (JavaScript ver.) 15일차

📍 Date



  • month는 1월에 1이 아니라 1월(0) ~ 12월(11)
  • 시간 뒤에 z가 붙는 거는 UCT 기준시간이라는 것 (영국), 우리나라랑 9시간 차이남
    new Date.UTC(2022,2,20) UTC 메서드를 통해 UTC 보정 할 수 있음
  • .getDay() 요일 일(0) ~ 토(6)
  • .getTime() 현재시간을 밀리세컨드로 바꿔줌
  • new Date(date.getTime()) 밀리세컨드를 다시 데이터객체로 반환받음
  • .gettimeoffset() UTC 0기준으로 얼마나 차이나는지 분단위로 출력
  • .setDate(0) 이달의 전달의 마지막날로 설정됨, 1일 기준의 전날로 설정됨

📍 요일 구하기

A1.

let week = new Array(
    "일요일",
    "월요일",
    "화요일",
    "수요일",
    "목요일",
    "금요일",
    "토요일"
  );
  let day;
  let date = new Date(str);
  day = week[date.getDay()];

  return day;

📍 알고리즘 복잡도

  • for문이 몇번이 중첩되어있냐 -> for문 하나당 n으로
  • 뒤쪽 상수를 날리고 가장 높은 차수만 남김
  • n의 차수가 커질수록 느려짐
  • 나누는 대상이 있을 때 log로 표현한다고 이해하기
  • log는 특정이상 가면 안올라가기 때문에 n보다 빠름

📍 경우의 수

📍 순열

*이해안됨 다시보기👊

  • 뽑아야되는 갯수만큼 for문이 불어남 그래서 보톤 재귀를 통해서 처리
  • 세개를 뽑아야하니까 변수로 3개 준비
    '중복없이' 이기 떄문에 i랑 j랑 같을 때는 countinue 써서 skip
  • 재귀는 자기 스스로를 계속 호출
    매개변수로 (array, 시작할 위치, 몇개를 뽑을지) 넣어줌
  • 선택할 위치가 s로 들어오게됨

좋은 웹페이지 즐겨찾기