목록분류 전체보기 (58)
코딩일지
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별 (예제 참고)을 출력하시오. #include int main(void) { int i, j, n; scanf("%d", &n); for(i = 0; i < n; i++) { for (j = 0; j < n - i - 1; j++) printf(" "); for (j = 0; j
char형 배열, 문자열을 입력하고 출력하면 한자나 외계어같은 쓰레기값이 뜰 때! 1. 문자열 입력 후 '\0'이라는 NULL부분을 처리해주지 않으면 다음 줄에 그대로 출력되어 버퍼 오버플로우나 쓰레기값이 뜬다. -> fflush(stdin); 으로 해결 2. char형 배열 선언 시, 미리 초기화를 해주지 않으면 한자나 외계어가 뜨기 십상! -> str[100] = {0}; 처럼 초기화해서 해결 보통 1, 2번 문제를 해결하지 못했을 때 쓰레기값이 뜹니다!! 잘 처리해주고 깔끔한 코딩 해요~~~
N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. #include #include int main(void) { int n, i; scanf("%d", &n); for(i = 1; i < 10; i++) printf("%d * %d = %d\n", n, i, n * i); }
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’ 중 하나이다. 각 줄의 시작과 마지막에 빈칸은 없다. 영석이가 세로로 읽은 순서대로 글자들을 출력한다. 이때, 글자들을 공백 없이 연속해서 출력한다. #include #include int main(void) { int i, j, max = 0; char line[5][15] = {0}; for (i = 0; i max) max = strlen(line[i]); } for (i = 0; i < ma..
돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. #include int main(void) { int i, n, stone[1001]; scanf("%d", &n); stone[1] = 1; stone[2] = 0; stone[3] = 1; stone[4] = 1; for (i = 5; i < 1001; i++) { if (stone[i - 1] + stone[i - 3] + stone[i - 4] == 3) stone..
돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. #include int main(void) { int n; scanf("%d", &n); if (n % 2 == 0) printf("SK\n"); else printf("CY\n"); }
돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. #include int main(void) { int n; scanf("%d", &n); if (n % 2 == 1) printf("SK\n"); else printf("CY\n"); } *1개, 3개만 돌을 나눠가지므로 홀수, 짝수로 나눌 수 있는 트릭*
#include int main(void) { int i, n; scanf("%d", &n); for (i = n; i > 0; i--) printf("%d\n", i); }
분수 A/B는 분자가 A, 분모가 B인 분수를 의미한다. A와 B는 모두 자연수라고 하자. 두 분수의 합 또한 분수로 표현할 수 있다. 두 분수가 주어졌을 때, 그 합을 기약분수의 형태로 구하는 프로그램을 작성하시오. 기약분수란 더 이상 약분되지 않는 분수를 의미한다. 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. 첫째 줄에 구하고자 하는 기약분수의 분자와 분모를 뜻하는 두 개의 자연수를 빈 칸을 사이에 두고 순서대로 출력한다. #include long gcd(long a, long b) { if (b>a) return gcd(b,a); if(a%b==0) return b; else return gcd(b, ..
위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. #include int main(void) { int i, n, cnt = 1, temp = 1; scanf("%d", &n); if (n == 1) cnt = 1; else { for (i = 2; i