전체 글 137

[백준/10773/C언어] 제로 _ 풀이

https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 풀이 #include #include int main() { int k, n; scanf("%d", &k); int* arr = (int*)malloc(k * sizeof(int)); int sum = 0; int c = 0; for (int i = 0; i < k; i++) { scanf("%d", &n);// n 입력 if (n != 0) {//n이 0이 아닐..

[백준/28278/C언어] 스택 2 _ 풀이

https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 풀이 #include int arr[1000000]; int main() { int commend, o, n;// 명령, 배열원소, 테스트케이스 scanf("%d", &n); int j = 0; for (int i = 0; i < n; i++) { scanf("%d", &commend); switch (commend) { case 1: scanf("%d", &o); arr[j] = o; j++; break; case 2: ..

[백준/4153/C언어] 직각삼각형 _ 풀이

https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 풀이과정 #include int main() { int a[3]; int temp; while (1) { scanf("%d %d %d", &a[0], &a[1], &a[2]); // 0 0 0입력시 종료 if (a[0] == 0 && a[1] == 0 & a[2] == 0) break; // 세 변을 크기순으로 정렬 for (int i = 0; i < 3; i++) { for (int j = i; j < 3; j+..

[백준/11651/C언어] 좌표 정렬하기 2 _ 풀이

https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 #include #include // 구조체 변수 xy 선언 typedef struct{ int x; int y; } xy; // compare함수 선언 int compare(const void* first, const void* second); int main(){ int n; scanf("%d",&n); // cdn이라는 배열을 n..

[백준/1427/C언어] 소트인사이드 _ 풀이

https://www.acmicpc.net/problem/1427 풀이 #include int main() { int n; // n의값이 최대 10억이므로 자릿수는 최대 10자리 int arr[10]; scanf("%d", &n); int m = n; int i = 0; // m이 1이상일때 반복 while (m>=1) { // arr에 나머지를 할당(각 자릿수의 숫자) arr[i] = m % 10; // m을 뒤에서부터 한자리씩 줄인다 m = m / 10; i++; } int temp; // 선택정렬 for (int c = 0; c < i; c++) { for (int j = c; j < i; j++) { if (arr[c] < arr[j]) { temp = arr[c]; arr[c] = arr[j];..

[백준/2577/C언어] 숫자의 개수 _ 풀이

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 #include int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); char tmp[10]; int arr[10] = {}; sprintf(tmp, "%d", a * b * c); for (int i = 0; i < 10; i++) // 숫자문자-'0'를 통해 0~9까지 숫자를 만들고 // arr의 인덱스를 참조해 +1 arr[tmp[i] - 48]++; // arr출력 for (int i = 0..

[백준/2751/C언어] 수 정렬하기 2 _ 풀이

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 #include #include // qsort 함수 int compare(const void* first, const void* second) { // first, second 포인터는 void형 이므로 // 리턴할 값의 int형으로 강제 형변환 int a = *(int*)first; int b = *(int*)second; // 오름차순이라면 -1 리턴값일때 변경 if (a <..

[백준/25305/C언어] 커트라인 _ 풀이

https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 풀이 #include #include int main() { int n, k; int temp; scanf("%d %d", &n, &k); int* arr = (int*)malloc(n * sizeof(int)); // arr원소 입력받음 for (int i = 0; i < n; i++) scanf("%d", &arr[i]); // 내림차순 정렬 for (int i = 0; i < n; i++) { for (int j = 0; j < n-i-1; j++) { if (..