[C++] baekjoon 10797, 1546

oat·2024년 3월 31일

everydayBOJ

목록 보기
43/51

Day 43

10797

문제

code

#include <iostream>

using namespace std;

int main() {
    int n;
    int car;
    int sum = 0;

    cin >> n;
    for (int i = 0; i < 5; i++) {
        cin >> car;
        if (car == n) {
            sum++;
        }
    }
    cout << sum;
}

풀이 과정

일의 자리가 n과 같으면 sum을 하나씩 늘어나게 하였다


1546

문제

code

#include <iostream>

using namespace std;

int main() {
    int n;
    int inputNum;
    int score[1000];
    int maxval = 0;
    double sum = 0;
    double ans;

    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> inputNum;
        score[i] = inputNum;
        if (maxval < inputNum) {
            maxval = inputNum;
        }
    }
    for (int j = 0; j < n; j++) {
        double num = score[j];
        num = num * 100 / maxval;
        sum += num;
    }

    ans = sum / n;
    cout << ans;

    return 0;
}

풀이 과정

점수를 받아서 최대값을 결정하고 새로운 점수들로 평균을 냈다


2506

문제

code

#include <iostream>

using namespace std;

int main() {
    int n;
    int ans[1000];
    ans[0] = 0;
    int score = 1;
    int sum = 0;

    cin >> n;

    for (int i = 1; i < n+1; i++) {
        cin >> ans[i];
        if (ans[i - 1] == 1) {
            if (ans[i] == 1) {
                score++;
                sum += score;
            }
            else if (ans[i] == 0) {
                score = 1;
            }
        }
        else if (ans[i-1] == 0) {
            if (ans[i] == 1) {
                score = 1;
                sum += score;
            }
            else if (ans[i] == 0) {
                continue;
            }
        }
    }
    cout << sum;
}

풀이 과정

앞의 수를 0인지 1인지 판단하여 score를 초기화할지, 하나 더할지 결정하고, 현재의 수를 0인지 1인지 판단하여 sum에 점수를 더할지 말지 결정한다


2455

문제

code

#include <iostream>

using namespace std;

int main() {
    int in;
    int out;
    int train = 0;
    int max = 0;

    for (int i = 0; i < 4; i++) {
        cin >> out >> in;
        train -= out;
        train += in;
        if (train > max) {
            max = train;
        }
    }
    cout << max;
}

풀이 과정

내릴 사람이 먼저 내리고, 탈 사람이 나중에 타기 때문에 그것을 순서대로 계산하여 최대 인원이 탔을 때를 저장하였다

0개의 댓글