문제

 

풀이

점수를 입력받으며 최댓값을 구하고 result에 입력받은 점수를 더하는 것을 n번 반복한다.

이후 조건에 따라 ((result / max) x 100) / n을 구해서 출력한다.

풀고 보니까 배열을 활용을 안한 것 같다.

#include <iostream>

using namespace std;

int main() {
	int n, num;
	int max = 0;
	double result = 0;
	int arr[1001] = { 0 };

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> num;

		if (num > max) max = num;
		result += num;
		arr[i] = num;
	}
	
	result = ((result / max) * 100) / n;

	cout << fixed;
	cout.precision(6);

	cout << result << "\n";

	return 0;
}

 

'백준 > 1차원 배열' 카테고리의 다른 글

10811: 바구니 뒤집기 / C++  (0) 2023.03.08
3052: 나머지 / C++  (0) 2023.03.08
5597: 과제 안 내신 분..? / C++  (0) 2023.03.08
10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08

문제 설명

 

풀이

순서를 바꾸기 위해 algorithm 라이브러리에 있는 reverse 함수를 활용하였다.

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
	int n, m, a, b;
	int count = 0;
	int arr[101] = { 0 };

	cin >> n >> m;

	for (int i = 0; i < n; i++)
		arr[i] = i + 1;

	for (int i = 0; i < m; i++) {
		cin >> a >> b;

		reverse(arr + a - 1, arr + b);
	}

	for (int i = 0; i < n; i++)
		cout << arr[i] << " ";

	return 0;
}

'백준 > 1차원 배열' 카테고리의 다른 글

1546: 평균 / C++  (0) 2023.03.08
3052: 나머지 / C++  (0) 2023.03.08
5597: 과제 안 내신 분..? / C++  (0) 2023.03.08
10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08

문제 설명

수 10개를 입력받아 42로 나눈 나머지를 구한 뒤, 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성

 

풀이

42 크기의 배열을 선언하고 0으로 초기화 해준 뒤 수 10개를 입력받아 해당 수를 42로 나눈 나머지를 인덱스로 가지는 인덱스의 값을 증가시킨다.

이후 배열을 순회하며 인덱스의 값이 0이 아닌 경우 count를 증가시킨다.

#include <iostream>

using namespace std;

int main() {
	int num;
	int count = 0;
	int arr[42] = { 0 };

	for (int i = 0; i < 10; i++) {
		cin >> num;
		
		arr[num % 42]++;
	}

	for (int i = 0; i < 42; i++)
		if (arr[i] != 0) count++;

	cout << count;

	return 0;
}

'백준 > 1차원 배열' 카테고리의 다른 글

1546: 평균 / C++  (0) 2023.03.08
10811: 바구니 뒤집기 / C++  (0) 2023.03.08
5597: 과제 안 내신 분..? / C++  (0) 2023.03.08
10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08

문제 설명

학생 30명 중 28명이 과제를 제출했다. 제출하지 않은 2명의 출석번호를 구하는 프로그램을 작성

 

풀이

arr[30]을 0으로 초기화하고 입력된 번호 - 1의 인덱스의 값을 1로 바꿔준다.

입력이 끝난 후 배열 arr를 순회하며 arr[i]가 0이라면 제출하지 않은 인원이기에 해당 인원의 번호인 i + 1를 출력한다.

#include <iostream>

using namespace std;

int main() {
	int num;
	int arr[30] = { 0 };

	for (int i = 0; i < 28; i++) {
		cin >> num;
		
		arr[num - 1] = 1;
	}

	for (int i = 0; i < 30; i++) {
		if (arr[i] == 0)
			cout << i + 1 << "\n";
	}

	return 0;
}

'백준 > 1차원 배열' 카테고리의 다른 글

10811: 바구니 뒤집기 / C++  (0) 2023.03.08
3052: 나머지 / C++  (0) 2023.03.08
10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08
2562: 최댓값 / C++  (1) 2023.03.08

문제 설명

n(1 ≤ N ≤ 100)개의 바구니가 있고 각 바구니에는 1부터 n까지 순서대로 번호가 매겨져 있다. 바구니에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 1개씩 들어있다.

두 바구니에 담겨있는 공을 m(1 ≤ N ≤ 100)번 교환할 때, 교환한 후 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성

 

풀이

#include <iostream>

using namespace std;

int main() {
	int n, m, a, b;
	int arr[101] = { 0 };

	cin >> n >> m;

	for (int i = 0; i < n; i++)
		arr[i] = i + 1;

	for (int i = 0; i < m; i++) {
		cin >> a >> b;

		a--; b--;
		int tmp = 0;

		tmp = arr[a];
		arr[a] = arr[b];
		arr[b] = tmp;
	}

	for (int i = 0; i < n; i++)
		cout << arr[i] << " ";

	return 0;
}

 

'백준 > 1차원 배열' 카테고리의 다른 글

3052: 나머지 / C++  (0) 2023.03.08
5597: 과제 안 내신 분..? / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08
2562: 최댓값 / C++  (1) 2023.03.08
10818: 최소, 최대 / C++  (0) 2023.03.08

문제 설명

n (1 ≤ N ≤ 100)개의 바구니가 있고 각 바구니에는 1부터 n까지 순서대로 번호가 매겨져 있다. 또한 1번부터 n번까지 번호가 매겨진 공이 있으며 바구니에는 공이 들어있지 않고, 각 바구니에는 1개의 공만 넣을 수 있다.

m (1 ≤ N ≤ 100)번 공을 넣으려고 할 때, 공을 한 번 넣을 때마다 공을 넣을 바구니의 범위를 정하고, 해당 범위에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 이미 공이 들어있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다.

이를 수행하는 프로그램을 작성

 

풀이

#include <iostream>

using namespace std;

int main() {
	int n, m;
	int arr[101] = { 0 };

	cin >> n >> m;

	while (m--) {
		int a, b, c;
		cin >> a >> b >> c;

		for (int j = a; j <= b; j++) {
			arr[j-1] = c;
		}
	}

	for (int i = 0; i < n; i++) {
		cout << arr[i] << " ";
	}

	return 0;
}

'백준 > 1차원 배열' 카테고리의 다른 글

5597: 과제 안 내신 분..? / C++  (0) 2023.03.08
10813: 공 바꾸기 / C++  (0) 2023.03.08
2562: 최댓값 / C++  (1) 2023.03.08
10818: 최소, 최대 / C++  (0) 2023.03.08
10871: X보다 작은 수 / C++  (0) 2023.03.08

문제 설명

9개의 서로 다른 자연수가 주어질 때, 최댓값을 찾고 최댓값이 몇 번째 수인지 구하는 프로그램을 작성

 

풀이

각 수를 받아 비교하면서 max값보다 입력받은 수가 크면 max값에 해당 수를 대입하고 몇 번째 수인지 저장하는 것을 반복한다.

#include <iostream>

using namespace std;

int main() {
	int num, idx;
	int max = 0;

	for (int i = 0; i < 9; i++) {
		cin >> num;

		if (num > max) {
			max = num;
			idx = i + 1;
		}
	}

	cout << max << "\n" << idx << "\n";

	return 0;
}

 

'백준 > 1차원 배열' 카테고리의 다른 글

10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08
10818: 최소, 최대 / C++  (0) 2023.03.08
10871: X보다 작은 수 / C++  (0) 2023.03.08
10807: 개수 세기 / C++  (0) 2023.03.08

문제 설명

n(1 ≤ n ≤ 1,000,000)개의 정수가 주어질 때, 최솟값과 최댓값을 구하는 프로그램을 작성

 

풀이

#include <iostream>

using namespace std;

int main() {
	int N;
	int arr[1000001];

	cin >> N;

	for (int i = 0; i < N; i++)
		cin >> arr[i];

	int min = arr[0];
	int max = arr[0];

	for (int i = 1; i < N; i++) {
		if (arr[i] < min)
			min = arr[i];
		if (arr[i] > max)
			max = arr[i];
	}

	cout << min << " " << max << "\n";

	return 0;
}

'백준 > 1차원 배열' 카테고리의 다른 글

10813: 공 바꾸기 / C++  (0) 2023.03.08
10810: 공 넣기 / C++  (0) 2023.03.08
2562: 최댓값 / C++  (1) 2023.03.08
10871: X보다 작은 수 / C++  (0) 2023.03.08
10807: 개수 세기 / C++  (0) 2023.03.08

+ Recent posts