반응형

C언어 12

[C : 백준] 4963. 섬의 개수

No. 4963 4963번: 섬의 개수 (acmicpc.net) 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net [코드] #include int visit[50][50]={0}; int map[50][50]; int dx[8] = {-1,-1,0,1,1,1,0,-1}; int dy[8] = {0,1,1,1,0,-1,-1,-1}; int w,h; void DFS(int x, int y){ int i,nx,ny; visit[x][y]=1; for(i=0;i=h || nx=w || ny

C 2022.05.15

[C : 백준] 10828. 스택

No. 10828 (class 2) 10828번: 스택 (acmicpc.net) 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net [코드] #include #include #define stack_size 10001 int high = -1; int stack[stack_size]; void push(int x) { high++; stack[high] = x; } int empty() { if (high == -1) return 1; else return 0; } int pop() { if (e..

C 2022.05.15

[C : 백준] 1978. 소수 찾기

No. 1978 (class 2) 1978번: 소수 찾기 (acmicpc.net) 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net [코드] #include int main() { int N, num, cnt = 0; scanf("%d", &N); int i; while (N--) { scanf("%d", &num); //소수 검사 for (i = 2; i < num; i++) { if (num%i == 0) break; } if (i == num) cnt++; } printf("%d\n", cnt); return 0; } [정리] 소수 : 약수가 1과 자기자신만을 가진 수 1부..

C 2022.05.08

[C : 백준] 11650. 좌표 정렬하기

No. 11650 (class2) 11650번: 좌표 정렬하기 (acmicpc.net) 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [코드] #include #include typedef struct { int x; int y; } point; point sort[100001]; void merge(point* arr, int first, int mid, int last) { int i, j, k; i = first; j = mid + 1; k = fir..

C 2022.05.08

[C : 백준] 1037. 약수

No. 1037 1037번: 약수 (acmicpc.net) 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net [코드] #include void sort(int a[], int n) //오름차순 선택정렬 { int i, j, m, t; for (i = 0; i a[j]) { m = j; } } t = a[i]; a[i] = a[m]; a[m] = t; } } int main(void) { int N; int..

C 2022.05.01

[C : 백준] 10814. 나이순 정렬

No. 10814 (class 2) 10814번: 나이순 정렬 (acmicpc.net) 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net [코드] #define _CRT_SECURE_NO_WARNINGS #include #include typedef struct { int age; int idx; char name[101]; }member; int compare(const void* first, const void* second) { member* a = (member*)first; member* b = (member..

C 2022.05.01

[C : 백준] 1181. 단어정렬

No. 1181 1181번: 단어 정렬 (acmicpc.net) 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net [코드] #define _CRT_SECURE_NO_WARNINGS #include #include #include typedef struct { int len; char str[51]; }Word; void merge(Word list[], int left, int mid, int right) { Word* tmp_list; int i, j, k; tmp_list = (Word*)call..

C 2022.04.02
반응형