mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • ๋ฐฑ์ค€
  • DevOps
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • c++
  • SQL ๊ณ ๋“์  Kit
  • SQL
  • Python
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

๋ฐฑ์ค€ 7662 _ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 7662 _ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ

2021. 3. 22. 17:40
728x90

www.acmicpc.net/problem/7662

 

7662๋ฒˆ: ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ

์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ T๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์ฒซ์งธ ์ค„์—๋Š” Q์— ์ 

www.acmicpc.net


โœจ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

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

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int T, k, n;
	char c;
	cin >> T;
	while (T--) {
		multiset <int> pq;
		cin >> k;
		while (k--) {
			cin >> c >> n;
			if (c == 'I') {
				pq.insert(n);
			}
			else {
				if (pq.empty())continue;
				if (n == -1) {
					pq.erase(pq.begin());
				}
				else {
					pq.erase(--pq.end());
				}
			}

		}
		if (pq.empty()) {
			cout << "EMPTY\n";
		}
		else {
			cout << *(--pq.end()) << " " << *pq.begin() << '\n';
		}
	}
	

	return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

์œ„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ multiset์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ•˜์˜€๋‹ค

set์€ key(์›์†Œ)๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ฐ’๋“ค์ด ์ž๋™ ์ •๋ ฌ๋œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค

key๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์ง€๋งŒ,

multiset์˜ ๊ฒฝ์šฐ ์ค‘๋ณต์„ ํ—ˆ์šฉ์‹œ์ผœ์ฃผ๊ธฐ๋•Œ๋ฌธ์—, ์ค‘๋ณต ๊ฐ’๋„ ํ—ˆ์šฉ์ด ๋˜๊ณ  ์ž๋™ ์ •๋ ฌ๋„ ๋˜๋Š” multiset์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค

 

multiset์„ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ๋„ฃ๊ณ , ๋ฌธ์ œ์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ D -1์ด๋ฉด ์ตœ์†Ÿ๊ฐ’์„ D 1์ด๋ฉด ์ตœ๋Œ“๊ฐ’์„ ์‚ญ์ œํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์˜€๋‹ค

๋ชจ๋“  ์ž‘์—…์ด ๋๋‚˜๊ณ  pq๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋ฉด 'EMPTY'๋ผ๋Š” ๋ฌธ์ž๋ฅผ, ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์˜€๋‹ค

 

 

๐ŸŒฑ ์ตœ๋Œ“๊ฐ’

pq.erase(--pq.end()); //์ตœ๋Œ“๊ฐ’ ์‚ญ์ œ
*(--pq.end()) // ์ตœ๋Œ“๊ฐ’

 

์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ• ๋•Œ, ์œ„์™€ ๊ฐ™์ด --pq.end()๋ผ๋Š” ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋Š”๋ฐ

์ด๋Š” pq.end()๋ฅผ ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ฃผ์†Œ ๊ฐ’ ๋ฐ˜ํ™˜์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๋งž์ง€๋งŒ ์ •ํ™•ํžˆ๋Š” ๋งˆ์ง€๋ง‰ ๋’ค ๊ณต๋ฐฑ๊ตฌ๊ฐ„๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค

๋”ฐ๋ผ์„œ '--' ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์„œ ๊ณต๋ฐฑ ์ „์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ๋‹ด๊ธด ์ฃผ์†Œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•œ ๊ฒƒ์ด๋‹ค

 

prev(pq.end()) == pq.end()-- == --pq.end()

 

โญ ๋ฌธ์ œ ํ’€์ด ๊ฒฐ๊ณผ

 

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 2217 _ ๋กœํ”„
    • ๋ฐฑ์ค€ 11404 _ ํ”Œ๋กœ์ด๋“œ
    • ๋ฐฑ์ค€ 14889 _ ์Šคํƒ€ํŠธ์™€ ๋งํฌ
    • ๋ฐฑ์ค€ 11000 _ ๊ฐ•์˜์‹ค ๋ฐฐ์ •
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”