이번 알고리즘 문제 풀이는 C로 진행했습니다
코드에 오탈자나 문제가 있으면 언제든지 댓글로 알려주세요!
A. 반복문
1. 구구단
a. 문제지 : 2739
b. 정답
📚 풀이
#include <stdio.h>
int main(){
int A;
scanf("%d", &A);
if(A>=1 && A<=9){
for(int i=0; i<9; i++){
printf("%d * %d = %d\n", A, (i+1) , A*(i+1));
}
}
return 0;
}
2. A+B - 3
a. 문제지 : 10950
b. 정답
📚 풀이
#include <stdio.h>
int main(){
int T, A, B;
scanf("%d", &T);
for(int i=0; i<T; i++){
scanf("%d %d", &A, &B);
printf("%d\n", A+B);
}
return 0;
}
3. 합
a. 문제지 : 8393
b. 정답
📚 풀이
#include <stdio.h>
int main() {
int A, sum = 0; // sum 변수를 0으로 초기화
scanf("%d", &A);
for (int i = 1; i <= A; i++) {
sum += i;
}
printf("%d\n", sum);
return 0;
}
4. 영수증
a. 문제지 : 25304
b. 정답
📚 풀이
#include <stdio.h>
int main() {
int receipt_total, num_items;
scanf("%d", &receipt_total); // 영수증에 적힌 총 금액 입력
scanf("%d", &num_items); // 구매한 물건의 종류의 수 입력
int calculated_total = 0; // 구매한 물건들로 계산한 총 금액 초기화
for (int i = 0; i < num_items; i++) {
int price, quantity;
scanf("%d %d", &price, &quantity); // 물건의 가격과 개수 입력
calculated_total += price * quantity; // 가격 * 개수를 총 금액에 더함
}
if (receipt_total == calculated_total) {
printf("Yes\n"); // 총 금액이 일치하는 경우
} else {
printf("No\n"); // 총 금액이 일치하지 않는 경우
}
return 0;
}
5. 코딩은 체육과목 입니다
a. 문제지 : 25314
b. 정답
📚 풀이
#include <stdio.h>
int main(){
int N;
scanf("%d", &N);
int A = N/4;
for(int i=0; i<A; i++){
printf("long ");
}
printf("int");
return 0;
}
6. 빠른 A+B
a. 문제지 : 15552
C로 작성하고 있어서 위 조건이 다 필요없었다,,
b. 정답
📚 풀이
#include <stdio.h>
int main() {
int T;
scanf("%d", &T); // 테스트케이스 개수 입력
for (int i = 0; i < T; i++) {
int A, B;
scanf("%d %d", &A, &B); // 두 정수 A와 B 입력
int sum = A + B; // A와 B의 합을 계산
printf("%d\n", sum); // 합을 출력
}
return 0;
}
7. A+B - 7
a. 문제지 : 11021
b. 정답
📚 풀이
#include <stdio.h>
int main() {
int T;
scanf("%d", &T); // 테스트케이스 개수 입력
for (int i = 0; i < T; i++) {
int A, B;
scanf("%d %d", &A, &B); // 두 정수 A와 B 입력
int sum = A + B; // A와 B의 합을 계산
printf("Case #%d: %d\n", (i+1), sum); // 합을 출력
}
return 0;
}
8. A+B - 8
a. 문제지 : 11022
b. 정답
📚 풀이
#include <stdio.h>
int main() {
int T;
scanf("%d", &T); // 테스트케이스 개수 입력
for (int i = 0; i < T; i++) {
int A, B;
scanf("%d %d", &A, &B); // 두 정수 A와 B 입력
int sum = A + B; // A와 B의 합을 계산
printf("Case #%d: %d + %d = %d\n", (i+1), A, B, sum); // 합을 출력
}
return 0;
}
9. 별 찍기 - 1
a. 문제지 : 2438
b. 정답
📚 풀이
#include <stdio.h>
int main(){
int T;
scanf("%d", &T);
for(int i=1; i<=T; i++){ // i는 1부터 시작
for(int j=0; j<i; j++){
printf("*");
}
printf("\n");
}
return 0;
}
10. 별 찍기 - 2
a. 문제지 : 2439
b. 정답
📚 풀이
#include <stdio.h>
int main(){
int T;
scanf("%d", &T);
for(int i=1; i<=T; i++){ // i는 1부터 시작
for(int j=1; j<=T; j++){
if(j <= T - i){
printf(" "); // 공백 출력
} else {
printf("*"); // 별 출력
}
}
printf("\n");
}
return 0;
}
11. A+B - 5
a. 문제지 : 10952
b. 정답
📚 풀이
#include <stdio.h>
int main() {
while (1) {
int A, B;
scanf("%d %d", &A, &B); // A와 B 입력
if (A == 0 && B == 0) {
break; // 입력 종료 조건: A와 B가 모두 0이면 종료
}
int sum = A + B; // A와 B의 합 계산
printf("%d\n", sum); // 합을 출력
}
return 0;
}
12. A+B - 4
a. 문제지 : 10951
b. 알고리즘
C에선 입력이 끝나면 EOF를 반환한다는 것을 이용한 코드!
- 두 개의 정수 a와 b를 저장할 변수를 선언
- 무한 루프를 시작
- scanf 함수를 사용하여 두 정수 a와 b를 입력
- 입력이 끝나면 EOF 값을 반환하며 루프가 종료
- 입력받은 두 정수 a와 b의 합을 계산
- 계산된 합을 출력
- 루프를 반복
- 프로그램 종료
c. 정답
📚 풀이
#include <stdio.h>
int main(void) {
int a,b;
while(scanf("%d %d", &a, &b)!=EOF) {
printf("%d\n", a+b);
}
}
'자료구조와 알고리즘 > 문제풀이' 카테고리의 다른 글
[Baekjoon] 단계별로 풀어보기 : 심화 1 (0) | 2023.08.24 |
---|---|
[Baekjoon] 단계별로 풀어보기 : 문자열 (0) | 2023.08.17 |
[Baekjoon] 단계별로 풀어보기 : 1차원 배열 (0) | 2023.08.16 |
[Baekjoon] 단계별로 풀어보기 : 조건문 (0) | 2023.08.16 |
[Baekjoon] 단계별로 풀어보기 : 입출력과 사칙연산 (0) | 2023.08.10 |