브루트포스 8

[백준] 2436. 공약수 풀이

https://www.acmicpc.net/problem/2436 최대 공약수가 주어졌으므로 최대 공약수 값부터 시작하여 최대 공약수의 배수들을 최소공배수에 나누어 생긴 두 숫자의 최대 공약수와 최소공배수를 계산하여 주어진 최대 공약수와 최소 공배수와 일치하는지 확인하였다.  만약 일치한다면 해당 숫자의 합이 조건을 만족하는 다른 숫자의 합 중 최솟값보다 작다면 최솟값을 갱신한다.  확인이 다 끝난 후 결과로 나온 값(minJ, minI)를 출력한다. C더보기#include int divisor(long a, long b){ long r; while(b){r = a % b; a = b; b = r;} return a;}int multiple(long a, long b){ long a..

브루트포스 2025.02.02

[백준] 1977. 완전제곱수 풀이

https://www.acmicpc.net/problem/1977 1부터 100의 숫자 중 제곱하였을 때 주어진 값 범위에 들어오는지 확인하면 되는 문제였다. 반복문을 통해 1부터 100까지의 숫자를 제곱해보고, 그 값이 m이상 n 이하이면 결과값(sum)에 그 값의 제곱을 더하고, 값의 제곱이 최솟값보다 작다면 min에 그 값의 제곱을 저장한다. 마지막에 결과값이 0이면 조건을 충족하는 수가 없는 것이므로 -1을 출력하고 그렇지 않다면 결과값(sum)과 최솟값(min)을 출력한다. C더보기더보기m = int(input())n = int(input())sum = 0; min = 10000for i in range(1, 101): if i ** 2 >= m and i ** 2 Python더보기더보기m..

브루트포스 2025.02.02

[백준] 1773. 폭죽쇼 풀이

https://www.acmicpc.net/problem/1773 0부터 c까지 시간이 흐르는 동안(반복문) 시간이 각 학생의 폭죽 주기와 나누었을 때 나머지가 0이면 결과값(cnt)에 1을 더한 후 마지막에 결과값을 출력한다. (이때 나머지가 0인것은 폭죽이 터질 시점임을 의미함)(주의: 결과값에 1을 더한 후 다른 학생의 폭죽과 중복되어서 카운팅이 되지 않도록 해야함) C더보기더보기#include int main(){ int n, c; scanf("%d %d", &n, &c); int a[n], cnt = 0; for(int i = 0; i Python더보기더보기n, c = map(int, input().split())l = list(); cnt = 0for _ in range(n):..

브루트포스 2025.02.02

[백준] 1590. 캠프가는 영식 풀이

https://www.acmicpc.net/problem/1590 각 버스에 대해 버스 탑승 시간의 최솟값을 res로 두면 도착시간이 버스 시작시간이면 res = 0 도착 시간이 버스 시작 시간 전이면 res = (버스 시작시간) - (도착시간) 도착 시간이 마지막 버스 시간 후이면 continue 이 모든것이 아니면 res = 도착 후 제일 먼저 오는 버스 각 버스에 대한 res들 중 최솟값 저장 후 최솟값이 초기화한 값(Int범위 중 가장 큰 값)이면 버스가 없음을 의미한다. C더보기더보기더보기#include int main(){ int n, t; scanf("%d %d", &n, &t); int min = 2147483647; for(int i = 1; i t) res = s - ..

브루트포스 2025.02.02

[백준] 1526. 가장 큰 금민수 풀이

https://www.acmicpc.net/problem/1526 n부터 1까지 숫자를 감소시키면서 하나씩 검사한다. 각 자릿수를 검사하면서 4와 7 외의 숫자가 있는지 확인한다. 4와 7로만 이루어진 숫자가 등장하면 반복문 탈출 & 해당 숫자 출력 C더보기더보기#include int isGmminsu(int v){ while(v){ if(v % 10 != 4 && v % 10 != 7) return 0; v /= 10; } return 1;}int main() { int n; scanf("%d", &n); int max = 0; for(int i = n; i > 0; i--){ if(isGmminsu(i)) {max = i; brea..

브루트포스 2025.02.02

[백준] 1145. 적어도 대부분의 배수 풀이

https://www.acmicpc.net/problem/1145 1부터 차례대로 주어진 5개의 수로 나누었을 때 3개 이상 나머지가 0인 경우가 있는지 검사한다. 3개 이상 나머지가 0인 경우 반복 탈출 & 해당 값 출력 C더보기더보기#include int checkMultiple(int a, int b, int c, int d, int e, int i){ int cnt = 0; if(i % a == 0) cnt++; if(i % b == 0) cnt++; if(i % c == 0) cnt++; if(i % d == 0) cnt++; if(i % e == 0) cnt++; return cnt;}int main() { int a, b, c, d, e; scanf..

브루트포스 2025.02.02

[백준] 1075. 나누기 풀이

https://www.acmicpc.net/problem/1075  주어진 N값의 뒤 두자리만큼을 빼서 뒤에 두 자리를 00으로 맞춘다. 수정한 N값에 0부터 99를 차례로 더해가면서 F와 나누었을 때 나머지가 0인지 확인한다. 나머지가 0인 값이 나오면 해당 값을 출력한다. C더보기#include int result(int n, int f){ int res; for(int i = 0; i Python더보기def result(n, f): res = 0 for i in range(100): if (n + i) % f == 0: res = i; break return resn = int(input())f = int(input())n -= (n%10 ..

브루트포스 2025.02.02

[백준] 1065. 한수 풀이

https://www.acmicpc.net/problem/1065 문제에서는 어느 한 정수의 각 자리가 등차수열을 이루면 그 값을 한수라고 설명한다. 일의 자리는 모두 한수이므로 cnt에 그 갯수만큼 저장하고 시작한다. 100부터 n까지의 숫자를 반복문으로 확인하면서 한수인지 확인한다. (십의자리 - 일의자리)가 (백의자리 - 십의자리)와 같은지 검사하여 한수인지 판단한다. 같으면 한수고 아니면 한수가 아니다. C더보기#include int isHansu(int v){ if((v/10)%10 - v%10 == v/100 - (v/10)%10) return 1; else return 0;}int main() { int n; scanf("%d", &n); int cnt = (n Pyth..

브루트포스 2025.02.02