※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 7286번 문제인 Ancient Keyboard이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/7286 

 

7286번: Ancient Keyboard

The scientists have found an ancient device that works in a strange way. The device has a keyboard and an output tape. The keyboard has 26 keys, with symbols `A' through `Z' on them. Each key has an LED on it (like the Caps Lock key on some keyboards). Eac

www.acmicpc.net

1000 이하의 각 음이 아닌 정수시각에 대하여 각 시각에 켜져있는 키의 개수를 구하는 것으로 문제를 해결하자.

 

이는 각 시각마다 불이 켜져있는 키의 개수를 저장할 배열을 만들고, 각 키마다 켜져있는 각 시각에 켜져있는 키의 개수를 1씩 더하는 것으로 구할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <cstring>
using namespace std;

int T, N;
int arr[1001];

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

	cin >> T;
	while (T--) {
		memset(arr, 0, sizeof(arr));
		cin >> N;
		while (N--) {
			char c; int L, R; cin >> c >> L >> R;
			while (L < R) arr[L++]++;
		}
		for (int i = 0; i < 1001; i++) {
			if (arr[i]) cout << (char) ('A' + arr[i] - 1);
		}
		cout << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2718 // C++] 타일 채우기  (0) 2023.11.14
[BOJ 15311 // C++] 약 팔기  (1) 2023.11.13
[BOJ 2508 // C++] 사탕 박사 고창영  (0) 2023.11.11
[BOJ 2097 // C++] 조약돌  (0) 2023.11.10
[BOJ 3261 // C++] TOWER  (2) 2023.11.09

+ Recent posts