C언어 63

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

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 #include #include int main() { int n, x;// n= 명령횟수, x = push X의 X해당 char command[6];// 명령어 int stack[10001] = {};// 스택에 대한 배열 scanf("%d", &n);// 명령 횟수 입력 // i = 초기값, j = 인덱스값 int i = 0, j = -1; while (i < n) { ..

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

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 처음 풀이 (틀림) #include #include int compare(const void* first, const void* second) { int num1 = *(int*)first; int num2 = *(int*)second; if (num1 num2) return ..

[백준/5073/C언어] 삼각형과 세 변 _ 풀이

https://www.acmicpc.net/problem/5073 5073번: 삼각형과 세 변 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오. 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++) { if (a[i] < a[j]) { temp = a[i]; a[i] = a..

[백준/10101/C언어] 삼각형 외우기 _ 풀이

https://www.acmicpc.net/problem/10101 10101번: 삼각형 외우기 문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다. www.acmicpc.net 풀이 #include int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); if (a == 60 && b == 60 && c == 60) printf("Equilateral\n"); else if (a + b + c == 180 && (a == b || b == c || a == c)) printf("Isosceles\n"); else if (a + b + c == 180 && (a != b && b != c && a != ..

[백준/2869/C언어] 달팽이는 올라가고 싶다 _ 풀이

https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 풀이 #include int main() { int a, b, v; scanf("%d %d %d", &a, &b, &v); // 홀수일때 if ((v - b) % (a - b) != 0) // +1 해서 출력 printf("%d\n", (v - b) / (a - b) + 1); // 짝수일때 else printf("%d\n", (v - b) / (a - b)); return 0; } 처음에는 시간제한 조건을 보지않고 while과 같은 반복문을 써서 풀었다..

[백준/9063/C언어] 대지 _ 풀이

https://www.acmicpc.net/problem/9063 9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 풀이 #include int main() { int n, x, y; // x축의 최댓값과 최솟값 int xmin = 10001, xmax = -10001; // y축의 최댓값과 최솟값 int ymin = 10001, ymax = -10001; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &x, &y); if (xma..

[프로그래머스/C언어] 조건 문자열 _ 풀이

문제설명 제한사항 입출력 예 입출력 예 설명 https://school.programmers.co.kr/learn/courses/30/lessons/181934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 #include #include #include int solution(const char* ineq, const char* eq, int n, int m) { int answer = 0; if ((*ineq == ''&&*eq=='!'&&n>m)) answer=1; else answer=0; return answer; } 포인터 형식으로 함수인..

[백준/25206/C언어] 너의 평점은 _ 풀이

https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 풀이 #include // 입력부분에서과목명,학점, 등급을 보고 구조체 사용을 알아채야함 struct score { char sn[51];// 과목명 double n;// 학점 char gr[3];// 등급 }; int main() { struct score ch;// 치훈이 double avr;// 전공평점 double grn;// 과목평점 double total = 0, nsum = 0;// 전공과..

[백준/2581/C언어] 소수 _ 풀이

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 풀이 #include #include int main() { int m, n; int total = 0; scanf("%d", &m); scanf("%d", &n); int* arr = (int*)malloc((n - m + 1) * sizeof(int)); int c = 0; for (int i = m; i 0 && j == i - 1) { // arr에 차례대로 소수 저장 arr[c] = i; c++;/..

[백준/1978/C언어] 소수찾기 _ 풀이

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 풀이 #include int main() { int n[100]; int m; int cnt; scanf("%d", &m); cnt = m;// cnt의 초깃값을 m으로 설정 for (int i = 0; i 1) { for (int j = 2; j < n[i]; j++) { // 입력된 숫자에 2부터 나누기(소수찾기) if (n[i] % j ..