TIL

2022.10.13.(木)

Unsung 2022. 10. 13. 20:08

CS50

알고리즘

실행시간(running time) : 프로그램이나 알고리즘이 동작하는 데 걸리는 시간

Big-O(order)
알고리즘을 수행하는데 필요한 시간의 상한선

O(n^2)
O(n log n)
O(n) - 선형 검색
O(log n) - 이진 검색
O(1)


Big Ω(omega)
알고리즘을 수행하는데 필요한 시간의 하한선

Ω(n^2)
Ω(n log n)
Ω(n) - 배열 안에 존재하는 값의 개수 세기
Ω(log n)
Ω(1) - 선형 검색, 이진 검색

 


모던 Javascript 튜토리얼

 

arrow function

//화살표 함수
let sum = (a, b) => a + b;

let 변수 = (인수1, 인수2) => 표현식;
표현식을 평가 후 반환함
// 같은 표현식
let sum = function(a, b) {
  return a + b;
};
  • 인수가 하나일 때
let sum = (a) => a + 1;
let sum = a => a + 1; // 괄호 생략가능
  • 인수가 하나도 없을 때
let sum = () => alert("Hello, world!"); // 괄호를 비워둠 (생략x)
  • 활용예시
let number = prompt("자연수를 입력하세요",1);

let evenNum = ( number % 2 == 0) ?
() => alert("짝수입니다.") :
() => alert("홀수입니다.");

evenNum();

 

본문이 여러 줄인 화살표 함수

  • 중괄호를 쓸 것!
  • return을 쓸 것!
let sum = (a,b) => {
 let result = a + b;
 **return** result;
}

console.log(sum(1,2));

 

화살표 함수로 변경하기

예시

function ask(question, yes, no) {
  if (confirm(question)) yes()
  else no();
}

ask(
  "동의하십니까?",
  function() { alert("동의하셨습니다."); },
  function() { alert("취소 버튼을 누르셨습니다."); }
);

정답

function ask(question, yes, no) {
  if (confirm(question)) yes()
  else no();
}

ask(
  "동의하십니까?",
  () => alert("동의하셨습니다."),
  () => alert("취소 버튼을 누르셨습니다.")
);

 

 

댓글수0