일지

JUNGOL...38

niamdank 2021. 1. 5. 13:44

Language_Code/파일입출력/형성평가1


문제                                            

실수 2개를 입력 받아 합계를 구하고 각각 소수 셋째 자리에서 반올림하여 둘째 자리까지 한 줄에 출력하시오.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

80.504 22.34

 

출력 예                                        

80.50 22.34 102.84


FormativeFileProcess01.h

#include <iostream>

 

FormativeFileProcess01.cpp

void FormativeFileProcess01::Code()
{
	double var1, var2;

	std::cin >> var1 >> var2;

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

	std::cout << var1 << ' ' << var2 << ' ' << var1 + var2;
}

 

Language_Code/파일입출력/형성평가2


문제                                            

3개의 정수를 입력 받아 합계와 평균을 구하여 출력하되 평균은 정수부분만 출력하고 나머지를 예와 같이 출력하시오.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

36 85 100

 

출력 예                                        

221 73...2


FormativeFileProcess02.h

#include <iostream>

 

FormativeFileProcess02.cpp

void FormativeFileProcess02::Code()
{
	int var1, var2, var3;

	std::cin >> var1 >> var2 >> var3;

	int sum{ var1 + var2 + var3 };

	std::cout << sum << ' ' << sum / 3 << "..." << sum % 3;
}

 

Language_Code/파일입출력/형성평가3


문제                                            

두 정수와 한 개의 연산자(+, -, *, /, %)를 입력 받아 입력 순서대로 계산하는 계산식을 출력하시오.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

82 51 +

 

출력 예                                        

82 + 51 = 133


FormativeFileProcess03.h

#include <iostream>

 

FormativeFileProcess03.cpp

void FormativeFileProcess03::Code()
{
	int var1, var2;
	char ch;

	std::cin >> var1 >> var2 >> ch;
	std::cout << var1 << ' ' << ch << ' ' << var2 << " = ";

	switch (ch)
	{
	case '+':
		std::cout << var1 + var2;
		break;
	case '-':
		std::cout << var1 - var2;
		break;
	case '*':
		std::cout << var1 * var2;
		break;
	case '/':
		std::cout << var1 / var2;
		break;
	case '%':
		std::cout << var1 % var2;
		break;
	}
}

 

Language_Code/파일입출력/형성평가4


문제                                            

정수 n(n≤10)을 입력받아 n!(팩토리얼)을 구하여 출력하시오.

 

n! = n * (n-1) * (n-2) * (n-3) …
즉, 4! = 4 * 3 * 2 * 1 이다.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

5

 

출력 예                                        

120


FormativeFileProcess04.h

#include <iostream>

 

FormativeFileProcess04.cpp

void FormativeFileProcess04::Code()
{
	int n;

	std::cin >> n;

	int result{ 1 };
	while (n > 0)
	{
		result *= n--;
	}

	std::cout << result;
}

 

Language_Code/파일입출력/형성평가5


문제                                            

0 이 입력될 때까지 정수를 입력받아 3의 배수이면서 5의 배수인 정수를 모두 출력하고 다음 줄에 그 개수를 출력하시오. 단, 한개도 없을 경우에는 "0" 만 출력한다. 최대 1,000개의 정수가 입력된다.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

10 20 30 55 66 77 88 99 100 15 0          │ 6 11 14 10 16 23 0

 

출력 예                                        

30 15                                                |  0

2


FormativeFileProcess05.h

#include <iostream>

 

FormativeFileProcess05.cpp

void FormativeFileProcess05::Code()
{
	int var, count{ 0 };

	while (true)
	{
		std::cin >> var;

		if (var == 0)
		{
			break;
		}

		if (var % 3 == 0 && var % 5 == 0)
		{
			count++;

			std::cout << var << ' ';
		}
	}

	if (count > 0)
	{
		std::cout << '\n';
	}
	std::cout << count;
}

 

Language_Code/파일입출력/형성평가6


문제                                            

100 이하의 정수를 입력받아 예와 같이 출력하시오.
‘*’는 옆으로만 1칸의 공백으로 분리한다.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

3

 

출력 예                                        

    *
  * * *
* * * * *
  * * *
    *


FormativeFileProcess06.h

#include <iostream>

 

FormativeFileProcess06.cpp

void FormativeFileProcess06::Code()
{
	int var;

	std::cin >> var;

	for (int i = 1; i <= var; i++)
	{
		for (int j = 0; j < var - i; j++)
		{
			std::cout << "  ";
		}

		for (int j = 0; j < i * 2 - 1; j++)
		{
			std::cout << "* ";
		}

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

	for (int i = var - 1; i >= 1; i--)
	{
		for (int j = 0; j < var - i; j++)
		{
			std::cout << "  ";
		}

		for (int j = 0; j < i * 2 - 1; j++)
		{
			std::cout << "* ";
		}

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

 

Language_Code/파일입출력/형성평가7


문제                                            

시작 년도와 끝 년도를 입력받아서 윤년이 몇 번 있는지를 구하여 출력하시오.

 

* 표준입출력방식으로 작성하세요.

 

출력 예                                        

2000 2008

 

출력 예                                        

3


FormativeFileProcess07.h

#include <iostream>

 

FormativeFileProcess07.cpp

void FormativeFileProcess07::Code()
{
	int beg, end;

	std::cin >> beg >> end;

	int count{ 0 };
	while (beg <= end)
	{
		if (beg % 400 == 0)
		{
			count++;
		}
		else if (beg % 4 == 0 && beg % 100 != 0)
		{
			count++;
		}

		beg++;
	}

	std::cout << count;
}

 

Language_Code/파일입출력/형성평가8


문제                                            

첫째 줄에 정수 n(2≤n≤100)을 입력받고 다음 줄부터 n명 학생의 3과목 점수를 입력받아 평균을 구하여 점수가 높은 순으로 출력하시오. 단, 평균은 소수 둘째 자리에서 반올림하여 소수 첫째 자리까지 출력하시오.

 

* 표준입출력방식으로 작성하세요.

 

출력 예                                        

5
85 48 68
73 55 89
90 73 86
63 90 100
95 76 23

 

출력 예                                        

84.3
83.0
72.3
67.0
64.7


FormativeFileProcess08.h

#include <iostream>

 

FormativeFileProcess08.cpp

void FormativeFileProcess08::Code()
{
	int n;

	std::cin >> n;

	double* arr = new double[n];

	double var1, var2, var3;
	for (int i = 0; i < n; i++)
	{
		std::cin >> var1 >> var2 >> var3;
		arr[i] = (var1 + var2 + var3) / 3;
	}

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

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

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

	delete[] arr;
}

 

Language_Code/파일입출력/형성평가9


문제                                            

공백을 포함한 한 문장을 입력받아서 전체 길이와 가장 긴 단어를 출력하시오.

단, 문장의 길이는 최대 100자 이내이고, 길이가 가장 긴 단어가 여러 개인 경우 공백으로 분리하여 한 줄에 입력 받은 순서대로 모두 출력하시오.

 

이 문제에서의 단어란? 공백으로 분리하는 문자열을 뜻한다.
"i am a boy." 문자열의 경우 "i", "am", "a", "boy."가 각각 단어이다.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

The largest organ in the body is the liver.

 

출력 예                                        

43
largest


FormativeFileProcess09.h

#include <iostream>
#include <string>
#include <stringstream>
#include <vector>

using std::string;
using std::stringstream;
using std::vector;

 

FormativeFileProcess09.cpp

void FormativeFileProcess09::Code()
{
	string str;

	std::getline(std::cin, str);

	vector<string> allWords;
	stringstream ss{ str };
	string word;

	ss >> word;
	allWords.push_back(word);

	size_t longest{ word.size() };

	while (ss >> word)
	{
		allWords.push_back(word);
		if (word.size() > longest)
		{
			longest = word.size();
		}
	}

	std::cout << str.size() << '\n';
	for (int i = 0; i < allWords.size(); i++)
	{
		if (allWords[i].size() == longest)
		{
			std::cout << allWords[i] << ' ';
		}
	}
}

 

Language_Code/파일입출력/형성평가10


문제                                            

10개의 단어를 입력받고 문자 하나를 더 입력 받는다.


문자를 포함하는 단어를 모두 찾아 사전 순으로 출력하시오.

단어는 100자 이하다.

 

* 표준입출력방식으로 작성하세요.

 

입력 예                                        

hancom
korea
information
monitor
class
member
internet
bible
friends
forever
i

 

출력 예                                        

bible
friends
information
internet
monitor


FormativeFileProcess10.h

#include <iostream>
#include <string>
#include <vector>

using std::string;
using std::vector;

 

FormativeFileProcess10.cpp

void FormativeFileProcess10::Code()
{
	string arr[10];
	char ch;

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

	vector<string> results;
	for (int i = 0; i < 10; i++)
	{
		if (arr[i].find(ch) < arr[i].size())
		{
			results.push_back(arr[i]);
		}
	}

	for (int i = 1; i < results.size(); i++)
	{
		for (size_t j = 0; j < results.size() - i; j++)
		{
			if (results[j] > results[j + 1])
			{
				string temp{ results[j] };
				results[j] = results[j + 1];
				results[j + 1] = temp;
			}
		}
	}

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

 

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

 

NadanKim/CodingTest_JUNGOL

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

github.com