문제풀이
[C++ 백준] 1546 평균
[C++ 백준] 1546 평균
2020.03.23문제 설명 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 최대값 M을 골라 모든 점수를 점수/M*100로 변경 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답 풀이 과정 N값 입력 후 N값에 맞는 double형 변수 및 배열 선언 공식을 사용하여 평균값 구하기 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답 이라는 조건이 있으므로 자료형에 주의해야한다. 소스 코드 #include using namespace std; int main() { int count = 0; double max, sum = 0; c..
[C++ 백준] 3052 나머지
[C++ 백준] 3052 나머지
2020.03.21문제 설명 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 풀이 과정 2577번과 유사한 문제 42로 나누므로 배열을 42만큼 할당한다. 해당 나머지 값이 0 이라면 카운트를 증가 시켜주고, 해당 인덱스 값을 후위연산으로 증가 시켜준다. 해당 인덱스가 0이 아니라면 카운트가 증가되지 않는다. 소스 코드 #include using namespace std..
[C++ 백준] 2577 숫자의 개수
[C++ 백준] 2577 숫자의 개수
2020.03.18문제 설명 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. 풀이 과정 세자리수 자연수 abc를 했을 때 자리 수를 생각 해보자. 999를 1000이라 생각하면 ( 10^3 ) * 3 = 10^9이다. 이는 2^10 == 10^3으로 볼 수..
[C++ 백준] 10039 평균 점수
[C++ 백준] 10039 평균 점수
2020.03.18문제 설명 입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다. 점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점수는 항상 정수이다. 40점 미만일 경우 항상 40점을 받게 된다. 풀이 과정 5개의 값을 입력받아 총합을 구하고 그 총합으로 평균값을 구한다. 40점 미만일 경우 40점 소스 코드 #include using namespace std; int main() { int a = 0; int sum =0; for( int i =0 ;i> a; if( a < 40 ) a = 40; sum += a; } cout
[C++ 백준] 2562 최대값
[C++ 백준] 2562 최대값
2020.03.13문제 설명 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 첫 째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 과정 9개의 숫자를 순서대로 입력받는다. 초기값을 0으로 지정한 max라는 변수를 입력한 값과 비교해서 max값이 작다면 입력한 값을 max에 넣어주고 해당 인덱스 값을 저장한다. index는 0부터 시작하므로 1을 더해준다..
[C++ 백준] 10818 최소, 최대
[C++ 백준] 10818 최소, 최대
2020.03.11문제 설명 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 풀이 과정 최대값 1000000 최소값 -1000000이므로 초기값을 최대 -1000000 최소 1000000으로 잡고 count크기의 배열을 입력받아서 비교한다. 소스 코드 #include using namespace std; int main() { int count; int min = 1000000; int max ..