본문 바로가기

컴퓨터/백준 알고리즘

(177)
백준 알고리즘 1978번 C언어 문제 출처 : https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 1. 코드 #include int main(void) { int i, j, arr[1000] = {0, }; int n, num, cnt = 0; arr[0] = 1, arr[1] = 1; for(j = 2; j < 1000; j++) for(i = j * 2; i < 1000; i++) if(i % j == 0) arr[i] = 1; scanf("%d", &n); for(i = 0; i < n; i++) { scanf("%d", &num); if(a..
백준 알고리즘 1011번: Fly me to the Alpha Centauri C언어 문제 출처 : https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 www.acmicpc.net 1. 코드 #include void Ptr(int a) { long i, j, ..
백준 알고리즘 2775번: 부녀회장이 될테야 C언어 출처 : https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (1
백준 알고리즘 10250번: ACM 호텔 C언어 문제 출처 : https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정 www.acmicpc.net 1. 코드 #include int main(void) { int t, h, w, n, i; scanf("%d", &..
백준 알고리즘 2869번: 달팽이는 올라가고 싶다 C언어 문제 출처: https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽 www.acmicpc.net 1. 코드 #include #include int main(void) { int a, b, v; double ..
백준 알고리즘 4673번: 셀프 넘버 C언어 (개선) 문제 출처 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 www.acmicpc.net 1. 코드 #include int main(void) { int i = 0, j, sum; int arr[10000] = {..
백준 알고리즘 1193번: 분수찾기 C언어 문제 출처: www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 1. 코드 #include int main(void) { int x, key = 0, i = 2, j = 1, k, cnt = 2; scanf("%d", &x); if(x == 1) { printf("1/1"); return 0; } while(1) { if(i = x) { if(j % 2 == 1) key = 0; else key = 1; break; } i = i + j + 1; j++; } i = 2; while(1) { j = 1; for(k = i; k > 0; k--) { if(x == cnt) { printf("%d/..
백준 알고리즘 2292번: 벌집 C언어 문제 출처: www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 1. 코드 #include int main(void) { int n, i = 2, j = 5, cnt = 2; scanf("%d", &n); if(n == 1) { printf("%d", 1); return 0; } while(1) { if(i = n) { printf("%d", cnt); break; } i = i + j + 1; j += 6; cnt++; } } 2. 문제 해결 방식 우선 그림을 2번 방..