본문 바로가기
1-4. 코딩테스트(현대자동차 Softeer)/Softeer(Lv1)

[Softeer] Lv1: 근무 시간(6254) 해설

by cogito21_cpp 2025. 1. 11.
반응형

문제

- 문제 링크: 근무 시간

 

풀이

(C언어)

solution 1)

- 시간 복잡도: 

더보기
더보기
#include <stdio.h>

int stoh(char* str) {
    int h = 0;
    for (int i = 0; i < 2; ++i) {
        h *= 10;
        h += str[i] - '0';
    }
    return h;
}

int stom(char* str) {
    int m = 0;
    for (int i = 3; i < 5; ++i) {
        m *= 10;
        m += str[i] - '0';
    }
    return m;
}

int main(void)
{
    char start[6];
    char end[6];
    int start_h = 0;
    int end_h = 0;
    int start_m = 0;
    int end_m = 0;
    int total = 0;
    for (int i = 0; i < 5; ++i) {
        scanf("%s %s", start, end);
        start_h = stoh(start);
        end_h = stoh(end);
        total += (end_h - start_h) * 60;
        
        start_m = stom(start);
        end_m = stom(end);
        total += (end_m - start_m);
    }
    printf("%d", total);
   return 0;
}

 

(C++)

solution 1)

- 시간 복잡도: 

더보기
더보기
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char** argv)
{
    string start;
    string end;
    int start_h = 0;
    int end_h = 0;
    int start_m = 0;
    int end_m = 0;
    int total = 0;
    for (int i = 0; i < 5; ++i) {
        cin >> start >> end;
        start_h = stoi(start.substr(0, 2));
        end_h = stoi(end.substr(0, 2));
        total += (end_h - start_h) * 60;
        
        start_m = stoi(start.substr(3, 2));
        end_m = stoi(end.substr(3, 2));
        total += (end_m - start_m);
    }
        
    
    cout << total << endl;

   return 0;
}

 

(Java)

solution 1)

- 시간 복잡도: 

더보기
더보기
import java.util.*

 

(Python)

solution 1)

- 시간 복잡도: 

더보기
더보기
import sys

total = 0
for i in range(5):
    start, end = input().split()
    total += (int(end[0:2]) - int(start[0:2])) * 60
    total += int(end[3:5]) - int(start[3:5])

print(total)

 

(JavaScript)

solution 1)

- 시간 복잡도: 

 

반응형