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("취소 버튼을 누르셨습니다.")
);