day 6

JH·2024년 6월 3일

코딩테스트 연습 > 각도기

Q 문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

예각 : 0 < angle < 90
직각 : angle = 90
둔각 : 90 < angle < 180
평각 : angle = 180


문제 풀이) 'else if’로 복수 조건 처리해서 풀이해보기!

1트..
function solution(angle) {
if (0 < angle < 90) {
return 1;
} else if (angle == 90) {
return 2;
} else if (90 < angle < 180) {
return 3;
} else return 4;
}
--> 테스트 1
입력값 〉 70
기댓값 〉 1
실행 결과 〉 테스트를 통과하였습니다.
테스트 2
입력값 〉 91
기댓값 〉 3
실행 결과 〉 실행한 결괏값 1이 기댓값 3과 다릅니다.
테스트 3
입력값 〉 180
기댓값 〉 4
실행 결과 〉 실행한 결괏값 1이 기댓값 4과 다릅니다.

2트.. if문안에 a < angle < b식을 '&&'로 묶어보기
function solution(angle) {
if(0 < angle && angle < 90) {
return 1;
} else if(angle == 90) {
return 2;
} else if (90<angle && angle<180) {
return 3;
} else 4;
}
--> 테스트 1
입력값 〉 70
기댓값 〉 1
실행 결과 〉 테스트를 통과하였습니다.
테스트 2
입력값 〉 91
기댓값 〉 3
실행 결과 〉 테스트를 통과하였습니다.
테스트 3
입력값 〉 180
기댓값 〉 4
실행 결과 〉 실행한 결괏값 undefined가 기댓값 4과 다릅니다.

최종 답안
function solution(angle) {
if(0 < angle && angle < 90) {
return 1;
} else if(angle == 90) {
return 2;
} else if (90<angle && angle<180) {
return 3;
} else if (angle == 180) {
return 4;
}
}

1. Javascript 이란?

자바스크립트는 ‘웹페이지에 생동감을 불어넣기 위해’ 만들어진 프로그래밍 언어.
자바스크립트는 브라우저뿐만 아니라 서버에서도 실행할 수 있다.
(자바스크립트는 브라우저에서만 쓸 목적으로 고안된 언어이지만,
지금은 다양한 환경에서 쓰이고 있다)

브라우저엔 '자바스크립트 가상 머신’이라 불리는 엔진이 내장되어있다.

  • 브라우저별 엔진 종류
    V8 – Chrome과 Opera에서 쓰임
    SpiderMonkey – Firefox에서 쓰임
    IE는 버전에 따라 'Trident’나 'Chakra’라 불리는 엔진을 사용.
    'ChakraCore’는 Microsoft Edge에 사용되며, 'SquirrelFish’는 Safari에 사용.

  • 자바스크립트만의 강점
    HTML/CSS와 완전히 통합할 수 있음
    간단한 일은 간단하게 처리할 수 있게 해줌
    모든 주요 브라우저에서 지원하고, 기본 언어로 사용됨

2.Javascript 프레임워크/라이브러리 알아보기

  • React
    • React의 특징은 무엇인가요?
      : 선언적 (Declarative), 단방향 데이터 흐름(바인딩),
      컴포넌트 기반 아키텍처, 가상 DOM
    • 장점을 기술해주세요.
      : 자바스크립트 기반의 문법을 사용
      다른 프레임워크와 라이브러리와 혼용 가능
      가상 DOM을 사용하여 신속한 UI 업데이트가 가능
      코드 가독성이 좋음
    • 단점을 기술해주세요.
      : 느리다
      스타일링(?)이 어렵다
  • Vue
    • Vue의 특징은 무엇인가요?
      MVVM패턴 : 프로그래밍 로직과 VIEW(UI)를 분리 개발하기 위해 설계된 패턴
      컴포넌트를 사용한 높은 재사용성
      단일 컴포넌트
    • 장점을 기술해주세요.
      배우기 쉽다(쉬운학습곡선)
      직관적이다
      가상 DOM 기반 성능 향상(효율적인 렌더링)
      컴포넌트 기반 아키텍쳐 (애플리케이션을 작은 재사용 가능한 조각으로 나눌 수 있음)
      양방향 데이터 바인딩(데이터의 변경 사항이 바로 반영된다. -> 개발 생산성을 향상시킨다)
      활발한 커뮤니티
    • 단점을 기술해주세요.
      React와 비교했을 때 상대적으로 작은 생태계.
      자바스크립트 번들의 크기가 상대적으로 크다.(초기 로딩속도가 느릴 수 있음)
      큰 규모의 데이터 처리나 복잡한 상태 관리 등에서 성능 이슈가 있을 수 있다.
  • Next.js
    • Next.js 란 무엇인가요?
      : React기반 웹 프레임워크로 웹 애플리케이션 및 웹 사이트를 개발하기 위한 도구와 기능을 제공한다.

    • 왜 React와 함께 사용하나요?

    • Next.js 를 사용했을때 어떤 장점이 있나요?
      1) 데이터 가져오기 기능 : getServerSideProps, getStaticProps 등을 사용해 효과적으로 데이터 처리가 가능하고 페이지에 넣을 수 있다.
      2) 코드 분할 : 동적임포트와 함께 코드 분할을 지원하여 번들 크기를 최적화하고 초기 로딩 속도를 향상한다.
      3) 스타일링 선택의 자유
      4) 간편한 라우팅
      5) 서버사이드렌더링(SSR) 및 정적 사이트 생성(SSG) 지원
      6) 배포 옵션 다양성
      8) 활발한 커뮤니티와 다양한 오픈 소스 패키지 및 플러그인

      (Next.js를 사용하는 가장 큰 이유? SSR ?? )

0개의 댓글