-- 예전 기록/BOJ

[ BOJ ] 28097 : 모범생 포닉스 ( BRONZE 4 ) / C, Python

rejo 2023. 10. 2. 10:50

문제

모두가 알다시피, 포닉스는 포스텍을 대표하는 모범생이다! 포닉스는 최고의 모범생답게 남들과는 다른 공부 계획표를 가지고 있다.

포닉스는 총 개의 공부 계획을 가지고 있다. 번째 공부 계획을 실행하는 데에는 시간이 소모된다. 포닉스는 각 계획을 순서대로 시행하며, 각 계획 사이에는 8시간만큼의 휴식을 취한다.

개의 공부 계획을 모두 마친 포닉스는 지금의 시간이 첫 번째 공부 계획을 시작한 시간으로부터 얼마나 지났는지 궁금해졌다. 포닉스가 마지막 공부를 마칠 때까지 걸린 총 시간이 며칠 몇 시간인지 구해 보자. 1일은 시간이다.

입력

첫 번째 줄에 공부 계획의 수 이 주어진다. (1 ≤ N ≤ 120)

두 번째 줄에 각 계획의 공부 시간을 나타내는 개의 정수 이 공백으로 구분되어 주어진다. (10 ≤ T_i ≤ 30)

출력

모든 계획을 마친 후의 소요 시간을 일과 시간 단위로 공백으로 구분하여 출력한다.

풀이 과정

각 공부 시간을 모두 더한 값과, 공부 시간 중간중간 휴식을 취했으므로 8시간을 (N-1) 번 곱한 값을 더해주면 된다.

결과로 도출된 시간을, 일과 시간 단위로 출력하기 위해 24로 나누어 몫과 나머지로 출력한다.

C

#include <stdio.h>

int main(void) {
    int n;
    scanf("%d", &n);

    int tmp;
    int sum_value = 0;
    for (int i = 0; i < n; i++) {
        scanf("%d", &tmp);
        sum_value += tmp;
    }

    int result = sum_value + (8 * (n - 1));
    printf("%d %d", result / 24, result % 24);

    return 0;
}

Python

n = int(input())
arr = list(map(int, input().split()))
res = sum(arr)+(n-1)*8
print(res//24, res%24)