본문 바로가기

4단계

[백준/C언어] 5597번 - 과제 안 내신 분..? 백준 웹사이트 "5597번 - 과제 안 내신 분..?" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 소스 코드 #include int main(void){ int arr[30] = {0}; // initialize all elements to 0 for(int i=0; i 더보기
[백준/C언어] 10807번 - 개수 세기 백준 웹사이트 "10807번 - 개수 세기" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 소스 코드 #include int main(void){ int N; scanf("%d", &N); int arr[N]; for(int i=0; i 더보기
[백준/C언어] 1110번 - 더하기 사이클 백준 웹사이트 "1110번 - 더하기 사이클" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 소스 코드 #include int main(void){ int first_N, N; scanf("%d", &first_N); N = first_N; int cycle = 0; while(1){ int digit_sum = N/10 + N%10; // N의 자릿수들의 합 N = (N%10)*10 + digit_sum%10; // 새로운 N.. 더보기
[백준/C언어] 10951번 - A+B - 4 백준 웹사이트 "10951번 - A+B - 4" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스 코드 #include int main(void){ int A, B; while(1){ if(scanf("%d %d", &A, &B) == EOF) // EOF는 입력의 종료를 의미. 'Ctrl+Z (^Z)'로 시행 break; else printf("%d\n", A+B); } } 문제 풀이 어렵지 않은 것을 묻는 문제임에도 불구하고, 35.398% (2021.12.29 기준)의 낮은 정답률을 보이는 문제입니다. 그 이유는 아마 'EOF (End of Fi.. 더보기
[백준/C언어] 10952번 - A+B - 5 백준 웹사이트 "10952번 - A+B - 5" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 소스 코드 #include int main(void){ int A, B; while(1){ scanf("%d %d", &A, &B); if(A==0 && B==0) break; else printf("%d\n", A+B); } } 문제 풀이 특정 조건이 만족될 때까지 루프 안의 코드가 계속해서 반복되는 while문을 이용하는 문제입니다. 조건문을 작성하는 방법에 따라 다양한 풀이 방법이 있을텐데, 저는 while(1)을 선호합니다. C언어의 경우 '0'은 fa.. 더보기