[Baekjoon] Class1 6~10
두 수 비교하기 [1330번]
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. (-10,000 ≤ A, B ≤ 10,000)
출력
첫째 줄에 다음 세 가지 중 하나를 출력한다.
- A가 B보다 큰 경우에는 ‘>’를 출력한다.
- A가 B보다 작은 경우에는 ‘<’를 출력한다.
- A와 B가 같은 경우에는 ‘==’를 출력한다.
생각해볼점
딱히 없다.
코드 구현
#include <stdio.h>
int main()
{
int a;
int b;
scanf("%d %d", &a, &b);
if (a > b)
printf(">");
else if (a < b)
printf("<");
else
printf("==");
return (0);
}
평균 [1546번]
세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수 / M * 100으로 고쳤다.
예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50 / 70 * 100이 되어 71.43점이 된다.
세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.
출력
첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.
생각해볼점
딱히 없다.
코드 구현
#include <stdio.h>
int main()
{
int n;
double score[1000], total = 0;
int max = 0;
int idx = 0;
scanf("%d", &n);
while (idx < n)
scanf("%lf", &score[idx++]);
idx = 0;
while (idx < n)
{
if (max < score[idx])
max = score[idx];
idx++;
}
idx = 0;
while (idx < n)
total += score[idx++] / max * 100;
printf("%.6lf", total / n);
return (0);
}
별 찍기 - 1 [2438번]
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
생각해볼점
딱히 없다.
코드 구현
#include <stdio.h>
int main()
{
int line, num_star;
int idx = 0;
scanf("%d", &line);
while (idx++ < line)
{
num_star = 0;
while (num_star++ < idx)
printf("*");
printf("\n");
}
return (0);
}
별 찍기 - 2 [2439번]
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제.
하지만, 오른쪽을 기준으로 정렬한 별을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
생각해볼점
딱히 없다.
코드 구현
#include <stdio.h>
int main()
{
int line, num_star;
int idx = 0;
scanf("%d", &line);
while (idx++ < line)
{
num_star = 0;
while (num_star++ < line - idx)
printf(" ");
while (num_star++ <= line)
printf("*");
printf("\n");
}
return (0);
}
검증수 [2475번]
컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.
예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.
입력
첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다.
출력
첫째 줄에 검증수를 출력한다.
생각해볼점
딱히 없다.
코드 구현
#include <stdio.h>
int main()
{
int uniquenum[5];
int idx = 0, provenum = 0;
while (idx < 5)
{
scanf("%d", &uniquenum[idx]);
provenum += uniquenum[idx] * uniquenum[idx++];
}
provenum %= 10;
printf("%d", provenum);
return (0);
}