사용자의 이름과 미접속 시간(분)을 입력받아 조건별로 다른 메세지를 리턴해야 합니다.
인자 1 : name (string
타입의 이름)
인자 2 : period (number
타입의 미접속 시간(분 단위))
string
타입을 리턴해야 합니다.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일 전에 접속함'
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}일 전에 접속함`
}
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()
을 사용하는 위치나 변수의 차이점이 다소 있었다.
물론 조건문 또한 완전히 정 반대로 작성하기도 했다.
하지만 큰 차이점을 보이지 않는 선에서 이정도로 만족해도 될 것 같다는 생각은 들게 되었다.
이제 코드 작성이 익숙해진다면 점차 압축하는 연습도 해야 할 것 같다