본문 바로가기

Algorithm/Simulation

Baekjoon 17254 키보드 이벤트

Link https://www.acmicpc.net/problem/17254

소스결과 2120 KB / 0 ms

출처 Baekjoon

언어 C++ 17

분류 시뮬레이션

 

설명

키보드를 구현하자

 

알고리즘

키, 시간, 키보드를 입력받아 우선순위에 맞게 정렬 후 출력한다.

 

소스코드

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct Typing {
	int keyboard;
	int time;
	char key;

	Typing() {};
	Typing(int keyboard, int time, char key) : keyboard(keyboard), time(time), key(key) {}
};

vector<Typing> reserve;

bool cmp(Typing& t1, Typing& t2) {
	if (t1.time < t2.time)
		return true;
	else if (t1.time == t2.time) {
		if (t1.keyboard < t2.keyboard)
			return true;
	}
	return false;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	int n, m;

	cin >> n >> m;

	reserve.resize(m);

	for (int i = 0; i < m; i++) 
		cin >> reserve[i].keyboard >> reserve[i].time >> reserve[i].key;
	
	sort(reserve.begin(), reserve.end(), cmp);

	for (int i = 0; i < m ; i++)
		cout << reserve[i].key;

	return 0;
}

'Algorithm > Simulation' 카테고리의 다른 글

Baekjoon 17289 에니그마  (0) 2019.08.21
Baekjoon 17292 바둑이 포커  (0) 2019.08.21
Baekjoon 17144 미세먼지 안녕!  (0) 2019.04.18
Baekjoon 17143 낚시왕  (0) 2019.04.18
Baekjoon 14890 경사로  (0) 2019.04.01