백준

백준

백준 2485번: 가로수 (C언어)

백준 2485번: 가로수 링크 https://www.acmicpc.net/problem/2485 문제를 풀기 전 생각한 것 가로수 사이의 거리 = 다음 가로수 - 가로수 가로수 사이 거리의 최대공약수를 처음 위치에 더함 풀면서 어려웠던 점 최대공약수를 구하는 함수를 따로 만들기 싫었지만 어쩔 수 없이 만들었다. 코드 #include int tree[100000]; int distance[100000]; int make_gcd(int a, int b) { if (b == 0) { return a; } else { return make_gcd(b, a % b); } } int main(void) { int N; int cnt = 0; int gcd = 0; scanf("%d", &N); for (int i ..

백준

백준 1735번: 분수 합 (C언어)

백준 1735번: 분수 합 링크 https://www.acmicpc.net/problem/1735 문제를 풀기 전 생각한 것 통분 후 약분하기 풀면서 어려웠던 점 처음에는 약분 후 통분을 할 생각이었지만 복잡해져서 통분 후 약분을 했다 코드 #include int main(void) { int a1, b1, a2, b2; int ans1, ans2; int cnt; scanf("%d %d", &a1, &b1); scanf("%d %d", &a2, &b2); ans1 = a1 * b2 + a2 * b1; ans2 = b1 * b2; cnt = 2; while (cnt

백준

백준 13241번: 최소공배수 (C언어)

백준 13241번: 최소공배수 링크 https://www.acmicpc.net/problem/13241 문제를 풀기 전 생각한 것 최소공배수를 보니 저번에 했던 유클리드 호제법이 바로 생각났다 풀면서 어려웠던 점 재귀함수를 따로 만들기 싫어서 while 문을 사용했는데 이 과정에서 생각을 많이 했다 코드 #include int main(void) { long long int A, B; long long int ans; scanf("%lld %lld", &A, &B); long long int mul = A*B; while(1) { if (B == 0) { printf("%lld", mul/A); break; } else { ans = A % B; A = B; B = ans; } } return 0; } ..

백준

백준 1934번: 최소공배수 (C언어)

백준 1934번: 최소공배수 링크 https://www.acmicpc.net/problem/1934 문제를 풀기 전 생각한 것 A*B / A와 B의 GCD = A와 B의 LCM 풀면서 어려웠던 점 처음에는 유클리드 호제법을 모르고 하나씩 구하려고 했지만 코드가 너무 복잡해지고 어려웠다 그래서 구글에 검색하다 보니 유클리드 호제법을 알게 되었고 코드로 변환했더니 풀렸다 코드 #include int main(void) { int T, A, B; int ans; scanf("%d", &T); for (int i = 0; i B) { A -= B; } else { B -= A; }..

백준

백준 19532번: 수학은 비대면강의입니다 (C언어)

백준 19532번: 수학은 비대면강의입니다 링크 https://www.acmicpc.net/problem/19532 문제를 풀기 전 생각한 것 문제에서 x와 y는 유일하게 존재한다고 했으므로 하나씩 넣어보면 답이 나온다 x와 y의 범위는 -999부터 999까지이다 풀면서 어려웠던 점 X 코드 #include int main(void) { int a,b,c,d,e,f; scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f); for (int x = -999; x < 1000; x++) { for (int y = -999; y < 1000; y++) { if ((a*x + b*y == c) && (d*x + e*y == f)) { printf("%d %d", x, y); ..

백준

백준 14215번: 세 막대 (C언어)

백준 14215번: 세 막대 링크 https://www.acmicpc.net/problem/14215 문제를 풀기 전 생각한 것 막대의 길이를 줄일 수밖에 없다 가장 긴 변의 길이는 나머지 변의 합보다 작아야 한다 풀면서 어려웠던 점 X 코드 #include int main(void) { int a, b, c; int temp, sum; scanf("%d %d %d", &a, &b, &c); if(a >= b){ temp = b; b = a; a = temp; } if(b >= c){ temp = c; c = b; b = temp; } if(a >= b){ temp = b; b = a; a = temp; } sum = a + b; if (c < sum) { sum += c; } else sum += su..

백준

백준 5073번: 삼각형과 세 변 (C언어)

백준 5073번: 삼각형과 세 변 링크 https://www.acmicpc.net/problem/5073 문제를 풀기 전 생각한 것 세 변의 길이가 모두 같은 경우 두 변의 길이만 같은 경우 세 변의 길이가 모두 다른 경우 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않을 경우 0 0 0 입력 시 종료 풀면서 어려웠던 점 어려운 건 아니었고 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않을 조건에서 최대, 중간, 최소를 따로 구해서 최대 < (중간+최소)로 만들려고 했는데 생각해 보니 최대 < (전체-최대)를 하면 돼서 코드를 다시 짰다 코드 #include int main(void) { int side[3]; while(1) { for (int i = 0; i < 3; i++)..

백준

백준 10101번: 삼각형 외우기 (C언어)

백준 10101번: 삼각형 외우기 링크 https://www.acmicpc.net/problem/10101 문제를 풀기 전 생각한 것 정삼각형일 경우 이등변삼각형일 경우 부등변삼각형일 경우 삼각형이 아닐 경우 풀면서 어려웠던 점 X 코드 #include int main(void) { int angle[3]; for (int i = 0; i < 3; i++){ scanf("%d", &angle[i]); } if (60 == angle[0] && 60 == angle[1] && 60 == angle[2]) { printf("Equilateral"); } else if (180 == angle[0]+angle[1]+angle[2]) { if (angle[0] == angle[1] || angle[1] == a..

백준

백준 9063번: 대지 (C언어)

백준 9063번: 대지 링크 https://www.acmicpc.net/problem/9063 문제를 풀기 전 생각한 것 (가장 긴 x축 - 가장 짧은 x축) * (가장 긴 y축 - 가장 짧은 y축) x축 입력값과 y축 입력값을 받아서 어떻게 저장할지 받은 값들의 최대, 최소를 어떻게 나눌지 풀면서 어려웠던 점 처음에는 arr에 값들을 저장했는데 그 이유는 x축은 짝수 번째, y축은 홀수 번째로 들어오니까 짝수 번째끼리 최대, 최소를 구하고 짝수 번째끼리 최대, 최소를 구하면 된다고 생각했다 하지만 내 머리가 멍청해서 구현이 어려웠고 그냥 xarr와 yarr로 나누어서 받았다 코드 #include #include int main(void) { int N, x, y; int xarr[100001] = {0..

백준

백준 15894번: 수학은 체육과목 입니다 (C언어)

백준 15894번: 수학은 체육과목 입니다 링크 https://www.acmicpc.net/problem/15894 문제를 풀기 전 생각한 것 n의 범위 풀면서 어려웠던 점 처음에는 문제가 너무 쉬워서 변수를 int로 두고 제출했고 오답이라고 나왔다 생각해 보니 int의 범위는 +-2147483647이므로 10^9 * 4를 하게된다면 오버플로우가 발생한다 그래서 long int를 사용했다 코드 #include int main(void) { long int n; scanf("%ld", &n); if (n > 0 && n < 1000000001) { printf("%ld", n*4); } return 0; } 풀면서 배운 점 쉽다고 방심하지 말 것

NamDoHyeon
'백준' 카테고리의 글 목록