백준(baekjoon)-C++ 정리

SUIN·2022년 4월 30일
0

백준/프로그래머스

목록 보기
6/18
post-thumbnail

4299 AFC윔블던

#include <iostream>
#include <math.h>
using namespace std;

int main() {
    int gkq, ck, a, b;
    cin >> gkq >> ck;
    a = (gkq + ck) / 2;
    b = gkq - a;
    if (gkq < ck || abs(a - b) != ck)
        cout << -1;
    else
        cout << max(a, b) << " " << min(a, b);

    return 0;
}

#include <math.h> : 수학적 연산에 필요한 함수가 들어있는 라이브러리
->abs():절댓값, max():최댓값, min():최솟값 반환

합:a+b, 차:a-b이므로 a=둘을 합하고 2로 나눈 값, b=a+b(합)에서 구해놓은 a를 뺀 값
차가 합보다 크거나 a-b의 절댓값이 저장된 차와 다른 경우 -1을 출력하고 아니면 그냥 출력


4673 셀프 넘버

#include <iostream>

using namespace std;

int main() {
	int a[10001];

	for (int j = 1; j <= 10000; j++) {
		int result;
		a[j] = j;
		for (int i = 1; i <= 10000; i++) {
			result = i + (i % 10) + ((i%100)/ 10) + ((i % 1000) / 100) + (i / 1000);
			if (j == result) {
				a[j] = 0;
			}
		}
	}

	for (int i = 1; i <= 10000; i++) {
		if (a[i] != 0)
			cout << a[i] << endl;
	}

	return 0;
}

셀프넘버: 답+답의 각 자릿수에 있는 자연수들? ( * )
10000보다 작거나 같은 넘버가 나올 때까지 진행되므로 10001크기의 int형 배열 a를 만든다.
반복문에 result를 만들고 result에 답+답의 일의자리+십의자리+백의자리+천의자리를 더한 값을 매번저장


5532 방학 숙제

#include <iostream>

using namespace std;

int main() {
	int l, a, b, c, d, result;
	cin >> l >> a >> b >> c >> d;
	if (b / d > a / c)
		if (b % d == 0)
			result = l - b / d;
		else
			result = l - b / d - 1;
	else
		if (a % c == 0)
			result = l - a / c;
		else
			result = l - a / c - 1;
	cout << result;
}

b/d=수학을 풀어야 하는 일수(나머지가 있으면 +1),a/c=국어를 풀어야 하는 일수(나머지가 있으면 +1)
둘의 크기를 비교해서 더 큰값으로 숙제를 해야하는 총 일수를 판단하고, 나머지의 유무에 따라 정확한 일수를 판단하여 그만큼의 값을 방학기간에서 뺌.
결과 출력


5543 상근날드

#include <iostream>

using namespace std;
int main() {
	int burger, drink, minburger = 2000, mindrink = 2000;
	for (int i = 0; i < 3; i++) {
		cin >> burger;
		if (minburger > burger)
			minburger = burger;
	}
	for (int i = 0; i < 2; i++) {
		cin >> drink;
		if (mindrink > drink)
			mindrink = drink;
	}

	cout << mindrink + minburger - 50;

}

버거와 음료수 각각의 입력값을 저장할 변수와 최솟값을 저장할 변수 총 4개 생성.
반복문으로 햄버거의 가격을 먼저 입력받아서 이전에 저장된 햄버거의 최솟값보다 작은지를 비교
같은 방법으로 음료수도 비교.
가장 작은 가격의 햄버거와 음료수 가격을 더한 값에 50원을 뺌.


오늘의 tmi: 공부 쬠 하기 싫은디요. 4673 풀이 이상하다고요? 네 아직 이해못했어요.

profile
공부하기싫을때붙잡고공부해봤자비명밖에안나옵니다지금제가그래요

0개의 댓글