TIL_210303
오늘 배운 것
- 코플릿 : 조건문
- 코플릿 : 문자열
오늘은 무엇이 어려웠는가
makeLastSeenMsg
문제
사용자의 이름과 미접속 시간(분)을 입력받아 조건별로 다른 메세지를 리턴해야 합니다.
입력
인자 1 : name (string
타입의 이름)
인자 2 : period (number
타입의 미접속 시간(분 단위))
출력
string
타입을 리턴해야 합니다.- 미접속 시간이 1시간보다 적을 경우, 분 단위로 표기합니다.
- 미접속 시간이 1시간 보다 크고 24시간보다 적을 경우, 시간 단위로 내림처리하여 표기합니다.
- 미접속 시간이 24시간보다 클 경우, 일 단위로 내림처리하여 표기합니다.
입출력 예시
let output = makeLastSeenMsg('mike', 40);
console.log(output); // --> 'mike: 40분 전에 접속함'
output = makeLastSeenMsg('mike', 121);
console.log(output); // --> 'mike: 2시간 전에 접속함'
output = makeLastSeenMsg('mike', 2887);
console.log(output); // --> 'mike: 2일 전에 접속함'
my code
let minute = 60
let day = 24 * 60
let nohour = Math.floor(period / 60)
let noday = Math.floor(period / day)
if (period < minute) {
return `${name}: ${period}분 전에 접속함`
} else if (period >= minute && period < day) {
return `${name}: ${nohour}시간 전에 접속함`
} else if (period > day) {
return `${name}: ${noday}일 전에 접속함`
}
reference code
const day = 60 * 24;
const hour = 60;
if (period >= day) {
return `${name}: ${Math.floor(period / day)}일 전에 접속함`;
} else if (period >= hour) {
return `${name}: ${Math.floor(period / hour)}시간 전에 접속함`;
} else {
return `${name}: ${period}분 전에 접속함`;
}
차이점
큰 차이는 없었지만 Math.floor()
을 사용하는 위치나 변수의 차이점이 다소 있었다.
물론 조건문 또한 완전히 정 반대로 작성하기도 했다.
하지만 큰 차이점을 보이지 않는 선에서 이정도로 만족해도 될 것 같다는 생각은 들게 되었다.
이제 코드 작성이 익숙해진다면 점차 압축하는 연습도 해야 할 것 같다
Author And Source
이 문제에 관하여(TIL_210303), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ccrjun/TIL210303저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)