백준 7568 : 덩치
백준 (C99)/브루트 포스 (完) 2022. 2. 2. 22:20

생각을 해 보면, 결국 몸무게나 키가 둘다 누군가보다는 커야 등수가 올라간다. 반대로 등수를 매길때 내려가려면 몸무게나 키가 모두 누군가보다 작아야한다. 나는 이번 문제에서 그냥 전수조사 했다. 어차피 그러라고 만든 문제같기도 하고.. #include int solve() { int N, rank = 1; scanf("%d", &N); int size[N][3]; for(int i=0;i

백준 2231 : 분해합
백준 (C99)/브루트 포스 (完) 2022. 2. 2. 19:45

1부터 N-1까지 전수조사해서 합이 N과 같은걸 찾는 문제이다 #include int solve() { int N, sum, temp, check = 0; scanf("%d", &N); for(int i=1;i 0) { sum += temp % 10; temp /= 10; } //분해합과 N이 같으면 출력 if(sum == N) { printf("%d\n", i); check = 1; break; } } if(check == 0) printf("0\n"); } int main() { solve(); return 0; } 생각보단 까다로워따

백준 2798 : 블랙잭
백준 (C99)/브루트 포스 (完) 2022. 2. 2. 17:47

간단하게 생각해서 원소 3개씩 집어서 다 더해본다음 M에서 빼서 차가 얼마나 적은가만 판별해주면 된다. 단, 주의 할 점은 음수는 고려하면 안된다는것. 0보다 크다는 조건을 빼먹지 말자 #include int solve() { int N, M, min = 99999, sum = 0; int arr[100]; scanf("%d %d", &N, &M); for(int i=0;i

백준 1002 : 터렛
백준 (C99)/기본수학 2단계 (完) 2022. 2. 2. 15:20

결과적으로 우리가 구해야 하는 것은 두 원의 위치관계를 구하는것이다. 두 원의 위치관계..는 구글링하면 나보다 더 상세하게 알려주고있다. #include #include #include int solve() { int x1, x2, y1, y2, r1, r2, cnt; scanf("%d %d %d %d %d %d", &x1, &y1, &r1, &x2, &y2, &r2); float distance = sqrt(pow(x1-x2, 2) + pow(y1-y2, 2)); if(distance == 0 && r1 == r2) cnt = -1; else if(abs(r1-r2) < distance && distance < r1+r2) cnt = 2; else if(r1+r2 == distance || abs(r1..

백준 3053 : 택시 기하학
백준 (C99)/기본수학 2단계 (完) 2022. 2. 2. 13:53

우선, 이 문제를 풀기 전에 택시 기하학에 대해서 더 알아보고 가자 그럼 원의 정의를 알아보자, 원은 중심으로부터 같은 거리 떨어진 점들의 집합이다 그렇다면 택시 기하학에서의 원은 어떤 모양일까? 유클리드 기하학처럼 우리가 아는 원의 모양이 나올까? 놀랍게도 그렇지 않다. 택시 기하학상에서의 원은 우리가 아는 마름모꼴의 모양으로 만들어진다. 이는 유클리드 기하학과 택시 기하학에서의 거리의 정의가 다르기 때문이다. 자료를 구하다 보니 택시 기하학상에서의 원의 방정식까지 같이 나오게 됐는데, 점 (x, y)가 택시 기하학상에서의 중심이 (a, b)인 원의 방정식을 만족하는 점이라면 택시 기하학상에서의 원의 방정식은 | x - a | + | y - b | = d 를 만족한다. 따라서 이를 기반으로 코드를 짜 ..

백준 4153 : 직각삼각형
백준 (C99)/기본수학 2단계 (完) 2022. 2. 2. 13:32

#include #include int solve() { int a = 1, b = 1, c = 1; while(a != 0 && b != 0 && c != 0) { scanf("%d %d %d", &a, &b, &c); if(a == 0 && b == 0 && c == 0) break; if(a >= b && a >= c) { if(pow(a, 2) == pow(b, 2) + pow(c, 2)) printf("right\n"); else printf("wrong\n"); } if(b > a && b > c) { if(pow(b, 2) == pow(a, 2) + pow(c, 2)) printf("right\n"); else printf("wrong\n"); } if(c > b && c > a) { if(..