야간 시간 시급 조건문 계산 lubridate

 네이저 지식인에 이 이렇게 질문이 왔다. 

코딩 문제를 풀어야 하는데.. 식을 어떻게 해야할지 몰라서요...ㅠㅠㅠㅠㅠ


문제가.. 저녁 10시 이전에는 시간당 만원이고

저녁 10시를 초과하면 시간당 만오천원으로 지급하는 경우 근무시간 입력받으면 출력으로 임금이 계산되도록 하라는 문제인데..... 너무 어려워요.ㅠㅠㅠㅠㅠㅠ


숙제인데.... 무슨말인지 모르겠어요.ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ


제발 제발 설명이랑 어떻게 풀어야할까요?ㅠㅠㅠㅠㅠㅠㅠㅠ



 어찌 되었든, 단서가  조금 적다  그래도 노동시간 야간 이면,   10:00~ 06:00 까지라고 가정하고 문제를 풀었다.    


   노동 시간의 조건은 여러가지가 있기 때문에  일단 알고리즘에 집중 하였다. 


이런 경우에는 함수를 만들어 처리하는데,  함수까지 만들어 처리하며,  조금 어려울것 같아, 쉽게 접근 하였다. 


원래 시간을 구하는 것은 처음 입문 하는 사람은 쉽지 않다. 


# lubridate를 로딩 한다.  
  library(lubridate)


lubridate를 로딩 하면 계산 할 수 있는 함수들이 많이 나온다. 


# 현재 일자와 시간을 표현한다.
  now()
## [1] "2021-10-30 16:06:12 KST"


# 현재 시간을 구하기 위한 lubridate  함수를 이용한다.    
  now_time <-  now()
  now_hour <-  hour(now_time)

# 현재 시간을   
  now_hour
## [1] 16


now() 함수를 이용하면,  현재 일자와 시간이 나오고,   hour(now)를 입력하면 현재 시간을 알 수 있다. 


 위의 것을 이용하면 현재 시스템에 있는 시간을 이용해서 할 수 있지만,  알고리즘을 확인을 위해 시간을 입력 하였을 경우로 알고리즘을 만들었다. 


알고리즘 입력 시간 0~24시로 한정 하겠다.  


# 시간을 입력 하였을 경우 사용  
  hour <- 23
  x <- hour *3600
  input_time <-  hms::hms(x)


시간을 입력하고,  3600을 곱한다.  hms 초단위로 시간이 계산된다.    1시간에 3600초니까  그것을   곱한 x 변수에 나타낸 것이다.   


if(pm(input_time) == TRUE) {

    a  <- "오후"
    b <- hour(input_time) - 12
    print(paste0(a, b, "시입니다." ))
  
    if(b >= 10 & b <= 12){
      print("만오천원 입니다.")} 

  } else {
    # 만약에 새벽 1시 부터 6시까지 야간이면
    
    a <- "오전"
    b <- hour(input_time)
    print(paste0(a, b, "시입니다." ))
    
    if(b >=0 & b <= 6) {
      print("야간이므로 만오천원 입니다. ")
    } else {
      
    print("만원입니다.")

    }
  }
## [1] "오후11시입니다."
## [1] "만오천원 입니다."


pm(imput_time) 이라는 것은 앞에서 나온 시간을 받아 오후 인지, 아닌지 확인 하는 것이다.  오후 이면,   오후 10시 인지 아닌지 확인 해서,  조건을 주는 것이다. 



여기에서는 2가지 조건이 들어 갔는데,   오후이면 10~12시 사이면 만오천원  오전 1~6시까지 야간이므로 만오천원 이라는 조건을 주었다. 


맨 처음 진입하는 사람은 시간을 가지고 계산 하는 것은 쉽지 않다.   이런 것들이 하나씩 쌓이고 나면,  많은 것을 할 수 있다.  




댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...