일지

JUNGOL...20

niamdank 2020. 11. 9. 12:27

Language_Code/배열1/형성평가1


문제                                            

10개의 문자를 입력받아 마지막으로 입력받은 문자부터 첫 번째 입력받은 문자까지 차례로 출력하는 프로그램을 작성하시오.

 

입력 예                                        

A E C X Y Z c b z e

 

출력 예                                        

e z b c Z Y X C E A


FormativeArray101.h

#include <iostream>

 

FormativeArray101.cpp

void FormativeArray101::Code()
{
	char arr[10];

	for (int i = 0; i < 10; i++)
	{
		std::cin >> arr[i];
	}

	for (int i = 9; i >= 0; i--)
	{
		std::cout << arr[i] << ' ';
	}
}

 

Language_Code/배열1/형성평가2


문제                                            

5개의 정수를 입력받은 후 첫 번째 세 번째 다섯 번째 입력받은 정수의 합을 출력하는 프로그램을 작성하시오.

 

입력 예                                        

15 20 33 10 9

 

출력 예                                        

57


FormativeArray102.h

#include <iostream>

 

FormativeArray102.cpp

void FormativeArray102::Code()
{
	int arr[5];

	for (int i = 0; i < 5; i++)
	{
		std::cin >> arr[i];
	}

	int sum{ arr[0] + arr[2] + arr[4] };

	std::cout << sum;
}

 

Language_Code/배열1/형성평가3


문제                                            

10개의 정수를 입력받아 홀수 번째 입력받은 정수의 합과 짝수 번째 입력받은 정수의 합을 출력하는 프로그램을 작성하시오.

 

입력 예                                        

10 20 25 66 83 7 22 90 1 100

 

출력 예                                        

odd : 141

even : 283


FormativeArray103.h

#include <iostream>

 

FormativeArray103.cpp

void FormativeArray103::Code()
{
	int arr[10];

	for (int i = 0; i < 10; i++)
	{
		std::cin >> arr[i];
	}

	int odd{ 0 };
	for (int i = 0; i < 10; i += 2)
	{
		odd += arr[i];
	}

	int even{ 0 };
	for (int i = 1; i < 10; i += 2)
	{
		even += arr[i];
	}

	std::cout << "odd : " << odd << '\n';
	std::cout << "even : " << even;
}

 

Language_Code/배열1/형성평가4


문제                                            

100개의 정수를 입력받을 수 있는 배열을 선언한 후 정수를 차례로 입력 받다가 -1이 입력되면 입력을 중단하고 -1을 제외한 마지막 세 개의 정수를 출력하는 프로그램을 작성하시오. (입력받은 정수가 -1을 제외하고 3개 미만일 경우에는 -1을 제외하고 입력받은 정수를 모두 출력한다.)

 

입력 예                                        

30 20 10 60 80 -1

 

출력 예                                        

10 60 80

 

Hint!

마지막에 입력된 위치는 [입력받은 개수-1] 이고 그 앞에 입력받은 것은 [입력받은 개수-2] 이다.


FormativeArray104.h

#include <iostream>

 

FormativeArray104.cpp

void FormativeArray104::Code()
{
	int arr[100];
	int count{ 0 };

	for (int i = 0; i < 100; i++)
	{
		std::cin >> arr[i];

		if (arr[i] == -1)
		{
			break;
		}

		count++;
	}

	for (int i = (count - 3); i < count; i++)
	{
		if (i >= 0)
		{
			std::cout << arr[i] << ' ';
		}
	}
}

 

Language_Code/배열1/형성평가5


문제                                            

6명의 몸무게를 입력받아 몸무게의 평균을 출력하는 프로그램을 작성하시오.

출력은 반올림하여 소수 첫째자리까지로 한다.

 

입력 예                                        

23.2 39.6 66.4 50.0 45.6 48.0

 

출력 예                                        

45.5


FormativeArray105.h

#include <iostream>

 

FormativeArray105.cpp

void FormativeArray105::Code()
{
	float weight[6];

	for (int i = 0; i < 6; i++)
	{
		std::cin >> weight[i];
	}

	float sum{ 0 };
	for (int i = 0; i < 6; i++)
	{
		sum += weight[i];
	}

	float avg{ sum / 6 };

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	std::cout << avg;
}

 

Language_Code/배열1/형성평가6


문제                                            

6개의 문자배열을 만들고 {'J' 'U' 'N' 'G' 'O' 'L'} 으로 초기화 한 후 문자 한 개를 입력받아 배열에서의 위치를 출력하는 프로그램을 작성하시오.

첫 번째 위치는 0번이며 배열에 없는 문자가 입력되면 "none" 라는 메시지를 출력하고 끝내는 프로그램을 작성하시오.

 

입력 예                                        

L            | B

 

출력 예                                        

5            | none


FormativeArray106.h

#include <iostream>

 

FormativeArray106.cpp

void FormativeArray106::Code()
{
	const char arr[6]{ 'J', 'U', 'N', 'G', 'O', 'L' };

	char ch;

	std::cin >> ch;

	int idx{ -1 };
	for (int i = 0; i < 6; i++)
	{
		if (arr[i] == ch)
		{
			idx = i;
			break;
		}
	}

	if (idx != -1)
	{
		std::cout << idx;
	}
	else
	{
		std::cout << "none";
	}
}

 

Language_Code/배열1/형성평가7


문제                                            

세 자리 이하의 정수를 차례로 입력 받다가 999가 입력되면 프로그램을 종료하고 그 때까지 입력된 최대값과 최소값을 출력하는 프로그램을 작성하시오.입력받는 정수는 100개 이하이다.

 

입력 예                                        

45 19 123 58 10 -55 16 -1 999

 

출력 예                                        

max : 123

min : -55


FormativeArray107.h

#include <iostream>

 

FormativeArray107.cpp

void FormativeArray107::Code()
{
	int arr[100];
	int count{ 0 };

	for (int i = 0; i < 100; i++)
	{
		std::cin >> arr[i];

		if (arr[i] == 999)
		{
			break;
		}

		count++;
	}

	int max{ arr[0] }, min{ arr[0] };
	for (int i = 0; i < count; i++)
	{
		if (max < arr[i])
		{
			max = arr[i];
		}

		if (min > arr[i])
		{
			min = arr[i];
		}
	}

	std::cout << "max : " << max << '\n';
	std::cout << "min : " << min;
}

 

Language_Code/배열1/형성평가8


문제                                            

100 개 이하의 정수를 입력받다가 0 이 입력되면 그 때까지 입력된 정수 중 5의 배수의 개수와 합계 평균을 출력하는 프로그램을 작성하시오.

평균은 소수점 이하 1자리까지 출력한다.

 

입력 예                                        

35 10 23 100 64 51 5 0

 

출력 예                                        

Multiples of 5 : 4

sum : 150

avg : 37.5


FormativeArray108.h

#include <iostream>

 

FormativeArray108.cpp

void FormativeArray108::Code()
{
	int arr[100];
	int count{ 0 };

	for (int i = 0; i < 100; i++)
	{
		std::cin >> arr[i];

		if (arr[i] == 0)
		{
			break;
		}

		count++;
	}

	int sum{ 0 };
	int countMultiplesOf5{ 0 };

	for (int i = 0; i < count; i++)
	{
		if (arr[i] % 5 == 0)
		{
			sum += arr[i];
			countMultiplesOf5++;
		}
	}

	float avg{ static_cast<float>(sum) / countMultiplesOf5 };

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	std::cout << "Multiples of 5 : " << countMultiplesOf5 << '\n';
	std::cout << "sum : " << sum << '\n';
	std::cout << "avg : " << avg;
}

 

Language_Code/배열1/형성평가9


문제                                            

정수를 입력받다가 0 이 입력되면 0 을 제외하고 그 때까지 입력 받은 개수를 출력한 후

입력받은 정수를 차례로 출력하되 그 수가 홀수이면 2배한 값을, 

짝수인 경우에는 2로 나눈 몫을 출력하는 프로그램을 작성하시오.

 

입력되는 정수의 개수는 100개 이하이다. 

 

입력 예                                        

8 10 5 15 100 0

 

출력 예                                        

5

4 5 10 30 50

 

Hint!

[파이썬2]

하나의 행에 공백으로 구분되어 주어지는 음이 아닌 정수들을 입력받는다. (아래 코드 참조)
앞에서부터 0이 아니면 result[] 리스트에 모은다. 

0이 나오면 result[]를 반환하는 함수를 작성하시오.
 

def getPositiveNumber(alist): 

# ADD ADDITIONAL CODE HEAR !!!

alist = map(int, raw_input().split())

alist = getPositiveNumber(alist) 

for i in alist: 

if i% 2 == 0: 

printf i/2, 

else: 

print i*2,


FormativeArray109.h

#include <iostream>

 

FormativeArray109.cpp

void FormativeArray109::Code()
{
	int arr[100];
	int count{ 0 };

	for (int i = 0; i < 100; i++)
	{
		std::cin >> arr[i];

		if (arr[i] == 0)
		{
			break;
		}

		count++;
	}

	std::cout << count << '\n';

	for (int i = 0; i < count; i++)
	{
		if (arr[i] % 2 == 0)
		{
			std::cout << arr[i] / 2 << ' ';
		}
		else
		{
			std::cout << arr[i] * 2 << ' ';
		}
	}
}

 

Language_Code/배열1/형성평가10


문제                                            

20 이하의 정수 n을 입력받고 n명의 점수를 입력받아 높은 점수부터 차례로 출력하는 프로그램을 작성하시오.

 

입력 예                                        

5

35 10 35 100 64

 

출력 예                                        

100

64

35

35

10


FormativeArray110.h

#include <iostream>

 

FormativeArray110.cpp

void FormativeArray110::Code()
{
	int n;
	
	std::cin >> n;

	int* arr{ new int[n] };

	for (int i = 0; i < n; i++)
	{
		std::cin >> arr[i];
	}

	for (int i = 1; i < n; i++)
	{
		for (int j = 0; j < n - i; j++)
		{
			if (arr[j] < arr[j + 1])
			{
				int temp{ arr[j] };
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}

	for (int i = 0; i < n; i++)
	{
		std::cout << arr[i] << '\n';
	}

	delete[] arr;
}

 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com