• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [Baekjoon(백준)][2979번] 트럭 주차(C++)
    2024년 01월 23일
    • 유니얼
    • 작성자
    • 2024.01.23.:41
    728x90

    안녕하세요! 오늘은 코딩테스트 문제 중 하나인 "트럭 주차" 문제를 해결하는 방법에 대해 설명하려고 합니다. "트럭 주차" 문제는 상근이가 가진 세 대의 트럭이 주차장에 주차되어 있는 시간을 바탕으로 총 주차 요금을 계산하는 문제입니다. 문제를 해결하는 과정과 코드를 자세히 알아보겠습니다.

    문제링크:

    https://www.acmicpc.net/problem/2979

     

    2979번: 트럭 주차

    첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장

    www.acmicpc.net

    Question

    문제 개요

    "트럭 주차" 문제는 상근이가 가진 세 대의 트럭이 주차장에 주차되어 있는 시간을 바탕으로 총 주차 요금을 계산하는 문제입니다. 주차 요금은 주차된 트럭 수에 따라 달라지며, 주차 요금 A, B, C와 트럭별 주차 시작 및 종료 시간이 주어집니다.

    해결 방법

    이 문제는 각 시간대별 주차된 트럭의 수를 계산하고, 이를 바탕으로 총 주차 요금을 계산합니다. 주차 요금은 주차된 트럭 수에 따라 다르므로, 각 시간대별로 주차된 트럭의 수를 카운트하고 해당 요금을 계산합니다.

    코드 구현

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    int main() {
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
        cout.tie(NULL);
        
        int A, B, C = 0; // 주차 요금
        vector<vector<int>> times(3,vector<int>(2,0)); // 각 트럭의 주차 시간
        vector<int> counting(100, 0); // 시간대별 주차된 트럭 수
        int answer = 0; // 총 주차 요금
    
        // 주차 요금 입력
        cin >> A >> B >> C;
    
        // 트럭별 주차 시간 입력
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 2; j++) {
                cin >> times[i][j];
            }
        }
    
        // 각 트럭별 주차 시간대별로 카운팅
        for (int i = 0; i < times.size(); i++) {
            for (int j = times[i][0]; j < times[i][1]; j++) {
                counting[j] += 1;
            }
        }
    
        // 카운팅된 트럭 수에 따라 요금 계산
        for (int i = 0; i < counting.size(); i++) 
        {
            switch (counting[i])
            {
                case 1:
                    answer += A;
                    break;
                case 2:
                    answer += B * 2;
                    break;
                case 3:
                    answer += C * 3;
                    break;
                default:
                    break;
            }
        }
        // 총 주차 요금 출력
        cout << answer;
        return 0;
    }

    코드 설명

    이 코드는 각 트럭의 주차 시작 및 종료 시간을 입력 받고, 각 시간대별로 주차된 트럭의 수를 계산합니다. 이를 바탕으로 해당 시간대에 적용되는 요금을 계산하고, 모든 시간대의 요금을 합하여 총 주차 요금을 계산합니다. 이 방법은 시간대별 요금 계산이 필요한 다양한 상황에 적용될 수 있습니다.

    결론

    "트럭 주차" 문제는 시간대별로 주차 요금을 계산하는 방법으로 해결할 수 있으며, 범위 기반의 요금 계산 문제에 대한 이해를 요구합니다. 이러한 접근 방법은 주차 요금 계산, 이벤트 스케줄링 등 다양한 상황에서 유용하게 사용될 수 있습니다.

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바