본문 바로가기

코딩

[백준/C언어] 2447번 - 별 찍기 - 10 백준 웹사이트 "2447번 - 별 찍기 - 10" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 소스 코드 #include #include char star[2187][2187]; void make_star(int size, char (*star)[2187], int m, int n); // 1 더보기
[백준/C언어] 10870 - 피보나치 수 5 백준 웹사이트 "10870번 - 피보나치 수 5" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 소스 코드 #include int fibonacci(int n); int main(void){ int n; scanf("%d", &n); printf("%d\n", fibonacci(n)); } int fibonacci(int n){ if(n==0) return 0; else if(n==1) return 1; .. 더보기
[백준/C언어] 10872번 - 팩토리얼 백준 웹사이트 "10872번 - 팩토리얼" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스 코드 #include int factorial(int n); int main(void){ int N; scanf("%d", &N); printf("%d\n", factorial(N)); } int factorial(int n){ if(n==0) return 1; else return n*factorial(n-1); } 문제 풀이 재귀함수(recursive function)를 이용하는 가장 기본적인 문제입니다. 재귀함수는 함수를 정의할 때 자신을 재참조하는.. 더보기
[백준/C언어] 18108번 - 1998년생인 내가 태국에서는 2541년생?! 백준 웹사이트 "18108번 - 1998년생인 내가 태국에서는 2541년생?!" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 소스 코드 #include int main(void){ int BE; scanf("%d", &BE); int AD = BE - (2541-1998); printf("%d\n", AD); } 문제 풀이 BE (Buddhist Era)는 불기 연도, AD (Anno.. 더보기
[백준/C언어] 10926번 - ??! 백준 웹사이트 "10926번 - ??!" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net 소스 코드 #include int main(void){ char id [51]; scanf("%s", id); printf("%s\?\?!", id); } 문제 풀이 백준 단계별로 풀어보기 1단계에 새로운 문제들이 추가된 것을 보고 놀랐습니다 (??!). 입출력과 사칙연산 1단계에는 문자열 관련 내용은 없었던 것으로 기억하는데, 1단계에 생겼네요. 문자열 입.. 더보기
[백준/C언어] 1002번 - 터렛 백준 웹사이트 "1002번 - 터렛" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 소스 코드 #include #include int main(void){ int T; scanf("%d", &T); for(int i=0; ir2){ r_big = r1; r_small = r2; } else{ r_big = r2; r_small = r1; } if(distance==0){ if(r1==r2) printf("-1\n"); else printf("0\n"); } else{ if(r_sum < dist.. 더보기
[백준/C언어] 3053번 - 택시 기하학 백준 웹사이트 "3053번 - 택시 기하학" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 소스 코드 #include #define _USE_MATH_DEFINES //M_PI 이용을 위해 #include int main(void){ int R; scanf("%d", &R); // 유클리드 기하학의 원: (R^2)π // 택시 기하학의 원: 2(R^2) (대각선이 2R인 마름모 모양) printf("%f\n", (double) R*R*M_PI); printf("%f.. 더보기
[백준/C언어] 4153번 - 직각삼각형 백준 웹사이트 "4153번 - 직각삼각형" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 소스 코드 #include int is_right(int a, int b, int c); int main(void){ while(1){ int x, y, z; scanf("%d %d %d", &x, &y, &z); if(x==0 && y==0 && z==0) break; else{ if(is_right(x,y,z)) printf("right\n"); else printf(.. 더보기