본문 바로가기
코딩테스트/백준

[백준] 단계별로 풀어보기 > if문 (c++)

by Hwan,. 2022. 1. 12.
728x90
반응형

문제 1. 두 수 비교하기

#include <iostream>

using namespace std;

int main() {
    int a, b;

    cin >> a;
    cin >> b;

    if (a > b) {
        cout << ">";
    }
    else if (a < b) {
        cout << "<";
    }
    else {
        cout << "==";
    }

    return 0;
}

 

문제 2. 시험 성적

#include <iostream>

using namespace std;

int main() {
    int a;
    string b = "F";

    cin >> a;

    if (a >= 60) {
        b = "D";
    }
    if (a >= 70) {
        b = "C";
    }
    if (a >= 80) {
        b = "B";
    }
    if (a >= 90) {
        b = "A";
    }

    cout << b;

    return 0;
}

 

문제 3. 윤년

#include <iostream>

using namespace std;

int main() {
    int a, answer = 0;
    cin >> a;

    if(a % 4 == 0 && a % 100 != 0) {
        answer = 1;
    }
    if (a % 400 == 0) {
        answer = 1;
    }

    cout << answer;

    return 0;
}

 

문제 4. 사분면 고르기

#include <iostream>

using namespace std;

int main() {
    int x, y, answer = 0;
    cin >> x;
    cin >> y;

    if (x > 0 && y > 0) {
        answer = 1;
    }
    if (x < 0 && y > 0) {
        answer = 2;
    }
    if (x < 0 && y < 0) {
        answer = 3;
    }
    if (x > 0 && y < 0) {
        answer = 4;
    }

    cout << answer;

    return 0;
}

 

문제 5. 알람 시계

#include <iostream>
#include <stdio.h>

using namespace std;

int main() {
    int h, m;
    char answer[30] = "";

    cin >> h;
    cin >> m;

    m -= 45;

    if (m >= 60) {
        m -= 60;
        h += 1;
    }
    if (m < 0) {
        m = 60 + m;
        h -= 1;
    }

    if (h >= 24) {
        h -= 24;
    }
    if (h < 0) {
        h = 24 + h;
    }

    snprintf(answer, 30, "%d %d", h, m);
    cout << answer;

    return 0;
}

 

추가 문제 6. 오븐 시계 (브론즈 4, 2022-02-16 확인)

#include<iostream>

using namespace std;

int main() {
	int a, b, c;
	cin >> a >> b >> c;

	b = b + c;
	if (b < 0) {
		b = 0;
	}
	while (b >= 60) {
		b -= 60;
		a += 1;
	}

	if (a < 0) {
		a = 0;
	}
	while (a >= 24) {
		a -= 24;
	}

	cout << a << " " << b << "\n";
    
    return 0;
}

 

추가 문제 7. 주사위 세개(브론즈 4, 2022-02-16)

#include<iostream>
#include<map>

using namespace std;

int main() {
	map<int, int> m;
	int a, res=0, k_max = 0, v_max = 0;

	for (int i = 0; i < 3; i++) {
		cin >> a;
		m[a]++;
		if (k_max < a) k_max = a;
		if (v_max < m[a]) v_max = m[a];
	}

	for (auto v : m) {
		if (v_max != 1 && v_max == v.second) {
			k_max = v.first;
		}
	}

	if (v_max == 3) {
		res = 10000 + k_max * 1000;
	}
	if (v_max == 2) {
		res = 1000 + k_max * 100;
	}
	if (v_max == 1) {
		res = k_max * 100;
	}

	cout << res << "\n";
    
    return 0;
}

 

 

결과

728x90
반응형

댓글