희락코딩

makeLastSeenMsg 본문

프로그래밍/코드 문제 풀이

makeLastSeenMsg

Hello JoyCoding 2021. 4. 9. 20:02
728x90
반응형

문제 function makeLast(name, period) { }

사용자의 이름과 미접속 시간(분)을 입력받아 조건별로 다른 메세지를 리턴해야 합니다.

  • string 타입을 리턴해야 합니다.
  • 미접속 시간이 1시간 보다 적을 경우, 분 단위로 표기합니다.
  • 미접속 시간이 1시간 보다 크고 24시간 보다 적을 경우, 시간 단위로 내림처리하여 표기합니다.
  • 미접속 시간이 24시간 보다 클 경우, 일 단위로 내림처리하여 표기합니다.

▶ 입출력 예시

let output = makeLast('mike', 40);

console.log(output); // --> 'mike: 40분 전에 접속함'

 

output = makeLast('mike', 121);

console.log(output); // --> 'mike: 2시간 전에 접속함'

 

output = makeLast('mike', 2887);

console.log(output); // --> 'mike: 2일 전에 접속함'

 

// 수도 코드 작성 //
// 시간과 일수를 내림표기를 하기 위해 Math.floor()메서드를 활용한다.
// Math.floor메서드를 활용해 hour 과 day 변수를 만들어 준다
// period가 60보다 적을 경우 `${name}: ${period}분 전에 접속함`
// hour가 24보다 적을 경우 `${name}: ${hour}시간 전에 접속함`
// day가 24보다 클 경우 `${name}: ${day}일 전에 접속함`

 

 

▶ 코드작성

 

1
2
3
4
5
6
7
8
function makeLast(name, period) {
 
let hour=Math.floor(period/60) ,day=Math.floor(hour/24);
 
return period<60 ? `${name}: ${period}분 전에 접속함`
: hour<24 ? `${name}: ${hour}시간 전에 접속함`
: `${name}: ${day}일 전에 접속함`
}
cs

 

 

▶ 문제 풀이

 

이문제의 핵심 포인트는 Math.floor를 활용해서 시간과 일수를 내림처리를 할 수 있게 만들어 주는 것이다.

 

그래서 period가 분으로 기준을 잡았을 경우 hour는 60으로 생각 할 수 있을 것이다.

 

시간을 내림 처리 하기 위해서 Math.floor(period/60) 로 표현이 가능하며 day도 마찬가지로

 

Math.floor(hour/24) 로 표현해서 시간을 내림 처리 할 수 있습니다.

728x90
반응형

'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글

addToBackOfNew & addToFrontOfNew  (0) 2021.04.25
getEvenNumbers  (1) 2021.04.24
findShortestOfThreeWords  (0) 2021.04.09
isPythagorean  (0) 2021.04.09
isEitherEvenAndLessThan8  (0) 2021.04.09
Comments