구현

한경식·2024년 12월 17일

구현


  • 말 그대로 문제 자체를 구현하면 되는 알고리즘이다

  • 예제 문제

string dopa = "umzunsik";

Q1. 앞에서부터 3개의 문자열을 출력하라 
Q2. 해당 문자열을 거꾸로 해서 출력하라. 
Q3. 해당 문자열 끝에 "umzunsik"이란 문자열을 추가하라.   
[출처] [알고리즘 강의] 1주차. 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현|작성자 큰돌

#include <iostream>

using namespace std;

string dopa = "umzunsik";

int main()
{
	//substr은 0번째부터 시작해서 입력받은 index까지 문자를 뽑아주는 함수이다
	cout << dopa.substr(3) << endl;

	//reverse 함수는 특정 문자를 입력받은 범위에 해당되는 문자들을 거꾸로 변환하는 함수이다
	reverse(dopa.begin(), dopa.end());
	cout << dopa << endl;

	dopa = dopa + " " + dopa;
	cout << dopa << endl;
}
  • 예제 문제 2
오름차순과 평균 값
숫자로 이뤄진 배열이 주어졌을 때, 배열의 요소들을 오름차순으로 정렬하고,
배열의 평균값을 계산하시오

입력
첫 번째 줄에 배열의 크기 N(1 <= N <= 100)이 주어진다.
두 번째 줄에 N개의 정수가 주어진다.
각 정수는 -1000이상 1000이하이다

출력
첫 번째 줄에 정렬된 배열에 출력하고, 두 번째 줄에 배열의 평균 값을 출력하시오.
평균 값은 소숫점 두 번째 자리까지 출력하시오

입력예시
5
3 1 4 1 5

예시출력
1 1 3 4 5
2.80

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
using namespace std;

int n;
double a;
vector<int> arr;

int main()
{
	cin >> n;
	arr.resize(n, 0);
	for (int i = 0; i < n; i++)
		cin >> arr[i];

	sort(arr.begin(),arr.end());

	for (int i = 0; i < n; i++)
	{
		cout << arr[i]<<" ";
		a += arr[i];
	}
	cout << endl;
	cout << fixed << setprecision(2) << a / n << endl;
}
profile
게임 개발 지망생

0개의 댓글