알고리즘/과제
매개변수 판단 알고리즘
도어누들
2023. 5. 1. 09:18
🔎 매개변수의 존재여부에 따른 다른 결과값 출력하기
📙 문제
meetAt 함수를 만들어주세요.
인자를 세개 받습니다.
첫번째 인자는 년도에 해당하는 숫자입니다.
두번째 인자는 월에 해당하는 숫자입니다.
세번째 인자는 일에 해당하는 숫자입니다.
년도 인자만 받았을 경우 → "1234년" 과 같은 형식의 문자열을 리턴 해주세요.
년도,월 인자를 받았을 경우 → 년도와 월을 조합해서 "1234년 5월" 과 같은 형식의 문자열을
리턴 해주세요.
년도,월,일 인자를 전부 받았을 경우 → 년도,월,일을 조합해서 "1234/5/6" 과 같은 형식의 문자열을
리턴 해주세요.
결과 예시
meetAt(2022); // 결과 --> 2022년
meetAt(2032, 3); // 결과 --> "2032년 3월"
meetAt(1987, 10, 28); // 결과 --> "1987/10/28"
💻 사용언어
JS
✔ 개발계획
1. 함수를 하나 만들어 년도, 월, 일 세개의 매개변수를 받는다.
2. 년도만 있을경우 => 2023년 출력
년, 월만 있을경우 => 2023년 5월
년, 월, 일 만 있을경우 => 2023/5/1
✍ 해결코드
function meetAt(year, month, date) {
if(date){
return console.log(year+"/"+month+"/"+date);
} else if(month){
return console.log(year + "년 " + month + "월");
} else {
return console.log(year + "년");
}
}
meetAt(2022);
meetAt(2032, 3);
meetAt(1987, 10, 28);
👍 다른 풀이법
function meetAt(year, month, date) {
let todayYear = year;
let todayMonth = month;
let todayDate = date;
if (todayDate) {
return `${todayYear}/${todayMonth}/${todayDate}`;
}
if (todayMonth) {
return `${todayYear}년 ${todayMonth}월`;
}
if (todayYear) {
return `${todayYear}년`;
}
}
console.log(meetAt(2022,1,7))
조건 순서도 중요! undefined => false 를 리턴!
🤦♂️ 느낀점
간단한 로직도 내가 놓치고 있는 부분이 많다.
빨리 푸는게 문제가 아니고 오래 풀어도 되니까 왜 안되는지에 관하여 공부를 많이 해야한다.
밑에 참고사이트를 보면서 여러가지의 코드 형태를 비교하면서 공부하자
아자아자 홧팅!!
참고사이트
여러개의 인자를 받는 함수 - 매개변수 존재 여부 파악
📍 Function : 매개변수 존재 여부 파악하기
velog.io