본문 바로가기

알고리즘/etc (리트코드,소프티어 ... )

[소프티어][lv.1]근무시간 - C , Python 풀이

반응형

 

 

https://softeer.ai/practice/6254

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

 

 

1. C 풀이 

#include <stdio.h>

int main(void) {
    int total = 0;

    // 5번 반복해서 날짜 입력 받기
    for (int i = 0; i < 5; i++) {
        // 출 퇴근 시간 입력 받기
        int stime, sminute, etime, eminute;
        scanf("%d:%d %d:%d", &stime, &sminute, &etime, &eminute);

        // 만약 출근 시간의 분이 퇴근 시간의 분보다 크다면 시간 -1, 분 +60
        if (sminute > eminute) {
            etime -= 1;
            eminute += 60;
        }

        // 출근 시간과 퇴근 시간을 분 단위로 변환 후 total에 저장
        // (퇴근 분 - 출근 분) + (퇴근 시 - 출근 시) * 60
        total += (eminute - sminute) + (etime - stime) * 60;
    }

    printf("%d\n", total);

    return 0;
}

 

 

2.Python 풀이

import sys

# 표준 입력에서 한줄 씩 읽어오기
input = sys.stdin.readline 

total = 0

# 5번 반복해서 날짜 입력 받기
for _ in range(5):

    # 출 퇴근 시간 입력받기 + 문자열 공백 기준으로 나눠서 리스트로 저장
    start, end = input().split()
    # 시간 문자열을 ":" 기준으로 나누어 시간과 분으로 분리
    stime, sminute = start.split(":")
    etime, eminute = end.split(":")
    # int 형변환
    stime, sminute, etime, eminute = int(stime), int(sminute), int(etime), int(eminute)

    # 만약 출근 시간의 분이 퇴근 시간의 분보다 크다면 시간 -1, 분 +60
    if sminute > eminute :
        etime -= 1
        eminute += 60

    # 출근 시간과 퇴근 시간을 분 단위로 변환 후 total에 저장
    # ( 퇴근 분 - 출근 분) + ( 퇴근 시 - 출근 시) * 60
    total += (eminute - sminute) + (etime-stime)*60
    
print(total)
반응형