목록코딩/백준코딩 (18)
코딩일지
점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 먹게 된다. 어떻게 하면 이러한 상황을 바꾸어 볼 수 있을까 고민하던 중 선생님이 한 가지 방법을 내 놓았다. 그 방법은 다음과 같다. 학생들이 한 줄로 줄을 선 후, 첫 번째 학생부터 차례로 번호를 뽑는다. 첫 번째로 줄을 선 학생은 무조건 0번 번호를 받아 제일 앞에 줄을 선다. 두 번째로 줄을 선 학생은 0번 또는 1번 둘 중 하나의 번호를 뽑는다. 0번을 뽑으면 그 자리에 그대로 있고, 1번을 뽑으면 바로 앞의 학생 앞으로 가서 줄을 선다. 세 번째로 줄을 선 학생은 0,1 또는 2 중 하나의 번호를 뽑는다...
OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다. #include int main(void) { int i, n, n1, sum = 0, cnt = 0; scanf("%d", &n); for(i = 0; i < n; i++) { scanf("%d", &n1); if (n1..
고양이 모양을 출력하라 #include int main(void) { printf("\\ /\\\n"); printf(" ) ( ')\n"); printf("( / )\n"); printf(" \\(__)|\n"); }
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. #include int main(void) { int n, i, sum = 0; scanf("%d", &n); for (i = 1; i
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오. #include int main(void) { int x, y, i, cnt = 0; char date[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; scanf("%d %d", &x, &y); for (i = 1;i < x;i++) cnt += date[i - 1]; cnt += y; switch (cnt % 7) { case 0: printf("SUN\n"); break; case 1: printf("MON\n"); break; case 2: printf("TUE\n"); break; case 3: printf("WED\..
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별 (예제 참고)을 출력하시오. #include int main(void) { int i, j, n; scanf("%d", &n); for(i = n; i > 0; i--) { for (j = n; j > i; j--) printf(" "); for (j = 1; j
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 #include int main(void) { int i, j, n; scanf("%d", &n); for(i = n; i > 0; i--) { for (j = 1; j
첫째 줄에는 별 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
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..