전체 글 137

[백준/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 ..

[백준/11943/C언어] 파일 옮기기 _ 풀이

https://www.acmicpc.net/problem/11943 11943번: 파일 옮기기 첫 번째 줄에는 첫 번째 바구니에 있는 사과와 오렌지의 수 A, B가 주어진다. (0 ≤ A, B ≤ 1,000) 두 번째 줄에는 두 번째 바구니에 있는 사과와 오렌지의 수 C, D가 주어진다. (0 ≤ C, D ≤ 1,000) www.acmicpc.net 풀이 #include int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); if (a + d

[백준/2941/C언어] 크로아티아 알파벳 _ 풀이

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이 #include int main() { char s[101];// 문자열 scanf("%s", &s);// 입력 int i; int cnt = 0;// 단어 수 i = 0; while (s[i] != '\0') {// 문자열 끝까지 반복 // i번째 문자가 'c'이고 i+1번째 문자가 '='이거나 '-'라면 if (s[i] == 'c' && (s[i + ..

[백준/11719/C언어] 그대로 출력하기 _ 풀이

https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 풀이 #include int main() { char c; while (scanf("%c", &c) != EOF) {// 컨트롤z를 입력하기 전까지 반복입력 printf("%c", c);// 출력 } return 0; }

[백준/10872/C언어] 팩토리얼 _ 풀이

https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 #include int fac(int n); int main() { int n; scanf("%d", &n); printf("%d\n", fac(n)); return 0; } int fac(int n) {// fac(10) if (n >= 1) return n * fac(n - 1);// fac(10) = 10*fac(9) else return 1;//n이 0일때는 1 } 팩토리얼은 재귀함수로 구현하면 쉽다. fac(3) = 3*fac(2) fac(2) = 2*fac(1) fac(1) = 1*f..