본문 바로가기
코딩일기/JS<자바스크립트>

자바 스크립트 <각도기> 프로그래머스

by 2pro.e_pro 2024. 5. 30.
728x90
반응형

이번 아티클에서는 자바 스크립트 <각도기> 프로그래머스 문제를 풀어보자.

 

문제는 아래와 같다.

 

이번 문제도 잘 읽어보면 조건을 말해준다.

  • 예각 : 0 < angle < 90                       return 값은 " 1 "
  • 직각 : angle = 90                             return 값은 " 2 "
  • 둔각 : 90 < angle < 180                   return 값은 " 3 "
  • 평각 : angle = 180                           return 값은 " 4 "

결국 4가지의 가정을 모두 구현한 로직으로 코드를 써내려가야한다고 판단했고

if - else if - else if - else로 끝나는 문법으로 구현했다.

그렇게 구현한 코드의 내용은 아래와 같다.

 

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 {
        return 4
    }
}

 

해석하자면

"&&"는 그리고의 개념으로,

"===" 같다면의 개념으로, 이해하면 좋다.

 

이해하기 어렵다면 GPT의 첨언을 얻어보자.

 

 

📌단.

처음부터 문제를 GPT에 복사 붙여넣기해서 답을 얻으면 내 성장에는 전혀 도움이 되지 않는다.

프로그래머스 문제를 풀면서 느끼는 점은

"내가 배운 코드로 얼마나 로직에 대한 고민을 많이 하는가?"

위 문장이 중점이며 여러분도 꼭 고민하고

내가 구상한 로직을 구현한 코드가 실행이 안될때

구글링으로 메소드, 해결책을 디깅하도록 하고

이후에도 테스트에서 막히는 경우 또는 테스트를 통과 하더라도

나의 코드에 대한 확실한 이해를 위한 해설정도로 사용하길 바란다.

 

다른 사람의 코드는 어땠을까?

function solution(angle) {
    return [0, 90, 91, 180].filter(x => angle>=x).length;
}

깔끔하고 매력적인 filter를 사용한 예시도 있으며

 

function solution(angle) {
    return angle < 90 ? 1 : angle === 90 ? 2 : angle < 180 ? 3 : 4;
}

위와같이 삼항 연산자를 응용한 수식도 흥미롭고 매력적이다.

 

개인적으로 이제 막 배우는 입장에서는 filter와  삼항연산자 같이 새로운 접근법을 구상 할 수 있는

그날이 나에게도 어서 오길 바래본다.

728x90
반응형

댓글