전체 글 137

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

https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 풀이 #include int main() { char c; while (scanf("%c", &c) != EOF)// eof(컨트롤Z)가 나오기전까지 한문자씩 입력하고 printf("%c", c);// 출력함 return 0; }

[백준/1085/C언어] 직사각형에서 탈출 _ 풀이

https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 풀이 #include int main() { int x, y, w, h; int a, b; scanf("%d %d %d %d", &x, &y, &w, &h); // x가 0과 가까운지 w와 가까운지 a에 저장 if (w - x > x) a = x; else a = w - x; // y가 0과 가까운지 h와 가까운지 b에 저장 if (h - y > y) b = y; else b ..

[백준/1193/C언어] 분수찾기 _ 풀이

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 #include int main() { int x; scanf("%d", &x); int n = 1; while (1) { // x 범위 찾기 if (n * (n - 1) / 2 + 1 = x) break; else n++; } int i, j; if (n % 2 == 0) {// n이 짝수일때 i = x - (n - 1) * n / 2;// 분자 j = (n + 1) - i;// 분모 } else{// n이 홀수일때 i = (n + 1) - j;// 분자 j = x - (n - 1) * n / 2;// 분모 } print..

[백준/1009/C언어] 분산처리 _ 풀이

https://www.acmicpc.net/problem/1009 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net 풀이 #include int main() { int t; int a, b; int total; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d %d", &a, &b); total = 1; for (int j = 0; j < b; j++) // 일의자리만 알면 되기에 곱할때마다 나머지만 본다 total = total * a % 10; if (total ==..

[백준/1037/C언어] 약수 _ 풀이

https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 #include int main() { int na, a;// n의 약수개수, n의 진짜약수 int max = 1; int min = 1000000; scanf("%d", &na); for (int i = 0; i a) min = a;/..

[백준/1032/C언어] 명령 프롬프트 _ 풀이

https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 풀이 #include int main() { int n; char s[50][51];// 문자열을 2차원 배열로 설정 (i번째의 문자열) char ps[51] = {};// 문자가 다를때 ?를 출력할 문자열 int j; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%s", &s[i]);// i번째 문자열 입력 j = 0; while (s[i..

[백준/2903/C언어] 중앙 이동 알고리즘 _ 풀이

https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 풀이 #include int main() { int n; int side = 2;// 한변의 길이(점개수) 초깃값은 2 int square;// 정사각형 scanf("%d", &n); for (int i = 0; i < n; i++) {// N번 반복 side = 2 * side - 1;// 문제의 규칙을 찾아보면 (2*side)-1 square = side * side;// 정사각형 점..

[백준/2444/C언어] 별 찍기 - 7 _ 풀이

https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 풀이 #include int main() { int n; scanf("%d", &n); for (int i = 0; i i; j--)// i가 커질수록 띄어쓰기 횟수는 줄어듬 printf(" "); for (int j = 0; j 0; i--) {// 6 ~ 9행 for (int j = i; j 0; j--)// i가 줄어들수록 별은 2개씩 줄어듬 printf("*"); printf("\n");// 줄바꿈 } return 0; } 처음에 큰 fo..

[백준/15917/C언어] 노솔브 방지문제야!! _ 풀이

https://www.acmicpc.net/problem/15917 15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 풀이 #include #include #include int main() { int q; int a; scanf("%d", &q); int* pa = (int*)malloc(sizeof(int) * q);// 동적 할당으로 q개만큼 a에 대한 값 저장 for (int i = 0; i < q; i++) {//q개만큼 반복 scanf("%d", &a); int j = 0; ..