본문 바로가기

7장 기타/백준 BOJ40

[백준/BOJ] 1546번 평균 (C++) 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제의 소재 시험을 본 과목 수 N과 N개의 시험점수가 입력된다. 그 중 최고점 M을 찾고 모든 점수를 A/M*100으로 바꾸고 평균을 구하는 문제이다.(A는 임의의 시험점수) 해답 시험점수를 입력받으면서 최대값 max를 찾았다. 각각의 점수는 정수이나, 변환 후에는 부동소수점 수가 될 수 있으므로 double형 배열에 각각의 점수를 저장하고 변환하였다. 모든 점수를 더한 후 N으로 나눠 출력하였다. // BOJ_1546.cpp #include #defin.. 2021. 5. 10.
[백준/BOJ] 3052번 나머지 (C++) 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제의 소재 수를 10개 입력받아 이를 42로 나눈 후 서로 다른 수의 개수를 세는 문제이다. 해답 bool형 배열 num[42]를 false로 초기화 하였다. 그리고 10개의 수를 입력받으면서 입력받은 수 a를 42로 나눈 나머지에 대하여 num[a%42]= true;로 숫자의 유무를 체크하였다. 이후에 각각의 num항에 대해 true의 개수를 측정하여 출력하였다. // BOJ_3052.cpp #include using namespace std; int main() { int a, answer; bool num[42] = {0};.. 2021. 5. 10.
[백준/BOJ] 2577번 숫자의 개수 (C++) 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제의 소재 3자리수 숫자 A, B, C가 입력되면 A×B×C의 값에 0~9까지의 숫자가 몇 개 사용됐는지 개수를 세는 문제이다. 해답 각 숫자가 사용된 횟수를 저장할 배열 num[10]을 int num[10] = {0};으로 초기화해주었다. for문을 이용해 N에 A×B×C를 저장하고, 1의 자리수부터 차례대로 num[N%10], N /= 10을 이용해서 개수를 셌다. A, B, C는 1000미만의 세자리 정수이므로 A×B×C는 10003=109보다 작다. 따라서 A×B×C를 int형에 저장하여도 범위를 초과하지 .. 2021. 5. 10.
[백준/BOJ] 2562번 최댓값 (C++) // BOJ_2562.cpp #include using namespace std; const int N = 9; int main() { int max, position, a; max = 0; for (int i=0;i>a; if (a>max) { max = a; position = i+1; } } cout 2021. 5. 10.
[백준/BOJ] 10818번 최소, 최대 (C++) 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제의 소재 N개의 정수가 주어졌을 때, 최솟값과 최댓값을 출력하는 문제이다. 해답 전처리기 #define을 활용하였다. MAX(A,B), MIN(A,B)를 정의하여 두 수를 손쉽게 비교할 수 있었다. 처음 입력되는 수를 최댓값 max와 최솟값 min에 대입하고 수가 입력될 때 마다. 크기 판단을 하여 min, max를 구할 수 있었다. #define MAX(A,B) (A>B ? A:B)는 전처리기로 컴파일러가 컴파일시 MAX(.. 2021. 5. 4.
반응형