코딩테스트가 궁금해서 저번달부터 학원 자투리 시간이나
지하철이나 버스에서 심심할때 가끔씩 풀고 있었음
야금야금 풀다보니 1레벨도 몇개 풀었고
근데 이게 문제 풀면서 은근 얻어가는 것도 많아서 한번 풀고 까먹기 아까워서
풀었었던 문제들을 복습할 겸 포스팅하려고 함
Lv.0 숫자 비교하기
문제 설명
정수 num1과 num2가 매개변수로 주어집니다.
두 수가 같으면 1 다르면 -1을 return하도록 solution 함수를 완성해주세요.
같으면 1, 다르면 -1 <<< 딱봐도 if문 생각났음
원래는 문제보고 먼저 어떤 자료형인지부터 파악하는게 중요하지만
그럴만한 문제도 아니고 return만 하면 되니까 그야말로 Lv.0 문제임
저는 이렇게 짰었습니다.
function solution(num1, num2) {
if(num1 == num2){
return 1;
}else{
return -1;
}
}
근데 제출하고 보니까
더 줄일 수 있었음
다른 사람의 풀이
function solution(num1, num2) {
var answer = num1 === num2 ? 1 : -1;
return answer;
}
삼항연산자.....................................
컴활에 뇌가 잠식되어있는 상태라 if문밖에 생각못한것을 반성합니다...
그래서 삼항연산자 개념 한번 정리합니다
삼항연산자 (ternary operator)
조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다.
앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:),
조건문이 거짓(falsy)일 경우 실행할 표현식이 배치됩니다.
형태는 A? B:C
해당 연산자는 if-else문의 대체재로 빈번히 사용됩니다.
대체재라면 당연히 속도차이도 궁금해짐
if문과 삼항연산자 중 뭐가 빠를까?
삼항연산자가 빠르지만 메모리를 더 잡아먹고
if문은 느리지만 메모리를 덜 잡아먹음
조건이 매우 단순하면 삼항연산자
조건이 중첩되어있다면 if문 사용
그리고 4개 이상의 조건일때는 if문보다 switch문을 쓰는게 성능에 좋다고 함
왜냐면
switch문은 바로 점프해서 원하는 곳에 이동하지만 (점프테이블을 생성하여 해당 case로 넘어감)
if-else문은 조건들을 하나씩 순차적으로 다 읽으면서 이동하기 때문
'개발관련 > JavaScript' 카테고리의 다른 글
[VScode] 'let' is available in ES6 (use 'esversion: 6')..... 오류 해결하기 (0) | 2023.02.20 |
---|---|
[Programmers] Lv.0 중앙값 구하기 (Javascript) (0) | 2023.02.16 |
[Programmers] Lv.0 옷가게 할인 받기 (Javascript) (0) | 2023.02.16 |
[Programmers] Lv.0 나머지 구하기 (Javascript) (0) | 2023.02.16 |
객체 개요, 함수, ES6 문법 몇가지 (0) | 2023.02.16 |