본문 바로가기
프론트엔드로 가는 길/프로그래머스

04. 숫자 비교하기 & 나이 출력

by woody-j 2022. 10. 29.

※문제설명

정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.

 

My Solution

function solution(num1, num2) {
  
 if(num1==num2){
     return(1)
               }
    else{
       return(-1)
    }
}

 

더보기
if문을 사용하여 값을 출력했다.

 

 

부족한 점 삼항 연산자에 대해 알고 있었다. 하지만 그 부분에 대해 명확하게 파악하지못해 코드로는 작성할 수 없었다. 코드를 스스로 작성하는 것을 선호하는 편이라 검색을 하고 싶지않다는 욕심이 생긴다. 하지만 현재 수준에서는 내 스스로 쓸 수 있는 코드가 별로 없다고 판단이 들었다. 
개선 방안 삼항 연산자의 구문을 명확하게 알것. 그리고 코드는 직접 쓰는 것이 아니라 서치하는 것이라고 한다. 서치를 하면서 필요한 코드를 찾는 능력도 키우자 무조건 스스로 생각하는 것만 코드로 녹여내지말고 서치를 통해 여러방법을 찾고 응용 할 수 있는 시간을 갖자  

 

 


 

Different Approach

function solution(num1, num2) {
    var answer = num1 === num2 ? 1 : -1;
    return answer;
    // return num1 === num2 ? 1 : -1 ;
}

 

 

삼항연산자란

참/거짓으로 선택적으로 실행되는 조건문.

조건문 ? 선택문1:선택문2

세 개의 항 중에 조건문이 들어가기 때문에 실 명칭은 조건부 삼항 연산자라고 불린다.


화살표 함수 표현식으로 작성해보자 !

 

const solution = (num1,num2) => num1 === num2 ? 1 : -1 ;
느낀 점 더 게으른 사람이 되고 싶다 if문 처럼 여러 줄로 작성하지않고 삼항연산자 처럼 한 줄로 바로 작성할 수 있는 사람

 

참고자료 : https://velog.io/@daybreak/Javascript-%EC%82%BC%ED%95%AD%EC%97%B0%EC%82%B0%EC%9E%90

 

[Javascript] 삼항연산자

자바스크립트 삼항 연산자는 참/거짓에 따라 선택적으로 실행되는 조건문이다. 상항연산자는 조건문 ? 선택문1:선택문2 로 구성된다. 조건문이 참이면 선택문1을 실행하고, 조건문이 거짓이면

velog.io

 


※문제설명

머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.

 

My Solution

const solution = age => 2023 - age

 

더보기
2022년 기준/ 자기나이를 년도에서 빼고 1을 더해줘야 출생년도가 나오기에 미리 2022에서 1을 더한 값(2023)으로 계산

 

 

부족한 점 2022년 기준이라고 하여 정말 2022라는 숫자를 대입한 부분은 너무 일차원적이었다. 날짜에 대한 메서드를 활용했더라면 2022년 기준뿐만 아니라 내년이든 내후년이든 언제든 출생년도를 사용할 수 있었을 것이다. 
개선 방안 이렇게 매번 새로운 메서드들을 알아가면서 더 나은 방법을 찾고 있다. 문제를 풀기 전 이런 메서드는 없을까 생각해보고 찾은 후에 코드를 작성해보는 것도 좋은 방법인 듯 하다.

 

 


 

Different Approach

function solution(age) {
    return new Date().getFullYear() - age + 1;
}

 

Date 객체생성자 함수이다 -> 생성자 함수는 날짜와 시간을 가지는 인스턴스를 생성 -> 생성된 인스턴스

기본적으로 현재 날짜와 시간을 나타내는 값을 가짐

Date 객체 생성 -> new Date()

 

Date.prototype.getFullYear / Date.prototype.setFullYear

년도를 나타내는 4자리 숫자를 반환/설정한다. / 년도 이외에 월, 일도 설정 가능하다.

 

 

느낀 점 다양한 메소드들이 많아 생각하기를 조금만 다르게 하면 조금 더 멋진 코드를 작성 할 수 있을 것 같다.

 

참고자료 : https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Date-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%A0%95%EB%A6%AC

'프론트엔드로 가는 길 > 프로그래머스' 카테고리의 다른 글

06. 짝수의 합  (0) 2022.11.02
05. 각도기  (0) 2022.10.30
03. 두 수의 차 & 곱  (0) 2022.10.28
02. 몫 구하기  (1) 2022.10.27
01. 나머지 구하기  (1) 2022.10.27