본문 바로가기

Set11

[백준 14425/c++] 문자열 집합 문자열끼리의 집합에서 같은 문자열이 있는지 찾고 그 수를 카운트 하는 문제다 무작정 for 문으로 if == 으로 비교하기엔 수가 너무 많아 시간초과가 될 수 있으므로 map 이나 set 등을 써서 hash 를 이용해서 찾도록 하여 연산 속도를 높여 시간내에 풀 수 있다 굳이 정렬이 필요하지 않으므로 unordered_map 을 사용하였다 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net #include using.. 2022. 7. 10.
[백준 11729/c++] 집합 시간초과가 되지 않도록 비트연산을 사용가능한지, memset 을 사용 가능한지 ios_base::sync_with_stdio(false); 등등 여러 방법을 통해 빠른 연산 능력을 구현가능한지를 묻는 문제이다 논리야 너무 간단했지만 처음 제출했던 코드에서 왜 틀렸는지 모르겠어서 5시간 넘게 붙잡고 맞왜틀! 거리고 조금씩 고쳐서 제출했더니 세상에... 내 제출로 인한 틀렸습니다만 한페이지다 민망 하하... 처음부터 전체적으로 다시 고쳐서 해결하였다 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acm.. 2022. 7. 6.
[백준 1181/c++] 단어 정렬 중복을 허락하지 않고 커스텀 조건으로 정렬 - 아하 set을 쓰면 되겠군! set을 사용한 커스텀 정렬은 처음 써보았다 set의 템플릿에 맞게 struct 의 내부를 원하는 조건으로 커스텀해준뒤 입력을 받아 set에 넣으면 원하는 조건으로 정렬이 된다. 그대로 출력하면 완성이다! https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net #include using namespace std; struct tok { bool operator() (.. 2022. 7. 1.