Post

Baekjoon11723-집합

백준 사이트 11723 - 집합 문제입니다.


1. 문제

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


2. Input , Output


3. 분류 및 난이도

간단한 string 문제입니다. 백준에서는 sliver5 난이도를 책정하고 있습니다.


4. 생각한 것들

  • 어렵지 않습니다. c++을 주로 사용하는 저는 문자열 자르기 귀찮아서 python으로 풀려고 했으나.. 오히려 저한텐 python으로 푸는게 더 어려워서 관뒀습니다.
  • 참고로 밑의 코드의 string.compare() 함수는 같으면 0 사전순으로 앞에 있으면 -1, 뒤에있으면 1을 뱉어냅니다.

5. code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream>
#include<string>
#include<cstring>
using namespace std;

bool v[21] = { false, };

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

	int m;
	cin >> m;
	for (int i = 0; i < m; ++i)
	{
		string query;
		int temp = 0;
		cin >> query;
		if (query.compare("all") && query.compare("empty"))// all이나 empty아닌 경우
			cin >> temp;
		if (!query.compare("add"))
			v[temp] = true;
		else if (!query.compare("remove"))
			v[temp] = false;
		else if (!query.compare("check"))
		{
			cout << v[temp] << '\n';
		}
		else if (!query.compare("toggle"))
		{
			v[temp] = !v[temp];
		}
		else if (!query.compare("all"))
			memset(v, true, sizeof(v));
		else if (!query.compare("empty"))
			memset(v, false, sizeof(v));
			
	}
	
	return 0;
}

6. 후기

난 왜 python이 더 어렵지..

This post is licensed under CC BY 4.0 by the author.