1000번 : A+B
두 정수를 더한 값을 출력하는 문제입니다.
#include<stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a+b);
}
1001번 : A-B
두 정수의 차이값을 출력하는 문제입니다.
이 때 앞에 입력된 정수에서 뒤에 입력된 정수를 빼야 합니다.
#include<stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a-b);
}
1271번 : 엄청난 부자2
10^1000 이하의 범위에서 정수의 나눗셈에 대한 몫과 나머지를 출력하는 문제인데, C언어로는 이러한 Bronze V의 난이도가 나올 수 없습니다. (나눗셈을 직접 구현해야 함)
+ 찾아보니 C언어가 아닌 python 기준에서 Bronze V의 난이도입니다. 따라서 이 문제는 우선 skip합니다.
+ python에서만 쉽게 해결이 가능한 긴 자리 계산 문제는 이 뒤로 모두 skip하도록 합니다. (높은 난이도 티어 문제에서 다시 다룸)
1550번 : 16진수
16진수의 정수를 입력받아 10진수로 출력하는 문제입니다.
하나의 기호를 사용하여 입력은 %x로, 출력은 %d로 바꾸어 수행해주면 됩니다.
#include<stdio.h>
int main() {
int a;
scanf("%x", &a);
printf("%d", a);
}
2475번 : 검증수
5개의 정수가 입력되면 이들을 각각 제곱하여 더한 수를 10으로 나눈 나머지를 검증수라고 정의할 때, 이 검증수를 계산하여 출력하는 문제입니다.
#include<stdio.h>
int main() {
int sum = 0, a;
for(int i=0; i<5; i++) {
scanf("%d", &a);
sum += a*a;
}
printf("%d", sum%10);
}
2557번 : Hello World
Hello World를 출력하는 문제입니다.
printf만 사용하면 됩니다.
#include<stdio.h>
int main() {
printf("Hello World!");
}
2845번 : 파티가 끝나고 난 뒤
단위 면적 당 사람 수 × 넓이 = 총 사람 수이므로 다음 줄 입력에서 해당 수를 빼주면 출력 값을 얻을 수 있습니다.
배열을 사용해야 짧은 코드로 해결할 수 있습니다.
#include<stdio.h>
int main() {
int a, b, c, output[10];
scanf("%d %d", &a, &b);
for(int i=0; i<5; i++) {
scanf("%d", &c);
output[i] = c - a*b;
}
for(int i=0; i<5; i++) printf("%d ", output[i]);
}
2914번 : 저작권
문제를 자세히 읽어보면 적어도 몇 곡이 있는지 계산하기 위해서는 앨범 수 * (평균값 - 1)에 1을 더한 값이 공식임을 알 수 있습니다.
따라서 a, b로 input을 받고 a*(b-1)+1을 계산해서 출력해주면 됩니다.
#include<stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a*(b-1) + 1);
}
3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰
각 체스말의 종류에 따른 개수 차이를 출력하는 문제입니다.
입력이 6개로 고정이므로 배열을 쓰지 않아도 그냥 1-a, 1-b, 2-c, 2-d, 2-e, 8-f의 공식을 사용하면 짧게 코딩할 수 있습니다.
#include<stdio.h>
int main() {
int a, b, c, d, e, f;
scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f);
printf("%d %d %d %d %d %d", 1-a, 1-b, 2-c, 2-d, 2-e, 8-f);
}
3046번 : R2
평균값을 이용해 역으로 원래의 수를 계산하는 문제입니다.
평균값 공식을 이용하면 R1+R2 = 2S이므로 R2 = 2S - R1으로 계산해주면 됩니다.
#include<stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", 2*b - a);
}
5522번 : 카드 게임
단순한 덧셈 문제입니다.
입력 값이 5개로 고정이므로 반복문을 사용하면 편리합니다.
#include<stdio.h>
int main() {
int sum = 0, a;
for(int i=0; i<5; i++) {
scanf("%d", &a);
sum += a;
}
printf("%d", sum);
}
'알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[C언어 백준 풀이][Bronze III] 유클리드 호제법 응용, 큰 수 나누기 (백준 1837번 : 암호 제작) (0) | 2021.08.25 |
---|---|
[C언어 백준 풀이][Bronze III] 부재중 전화, 공, 꼬리를 무는 숫자 나열, 생장점, 문어 숫자 (0) | 2021.08.24 |
[C언어 백준 풀이][Bronze III] 진수 변환, 정수를 문자열로 처리하여 푸는 문제 등 (0) | 2021.08.22 |
[C언어 백준 풀이][Bronze IV] 조건문 활용, 시간 덧셈 구현, swap 함수 구현 (0) | 2021.08.21 |
[C언어] 자연수 분할 : 2진수 응용 (백준 9095번 : 1, 2, 3 더하기 풀이) (0) | 2021.08.08 |