| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- unity6
- 입출력과 사칙연산
- 백준
- 일기
- 밑바닥부터 만드는 컴퓨팅 시스템 2판
- C++
- https://insightbook.co.kr/
- 메타버스
- 이득우의 게임수학
- booksr.co.kr
- 알고리즘
- 생능출판
- C#
- Noam Nisan
- 게임 수학
- 잡생각 정리글
- 전공자를 위한 C언어 프로그래밍
- C
- The Elements of Computing Systems 2/E
- Shimon Schocken
- 박기현
- 이득우
- hanbit.co.kr
- (주)책만
- JavaScript
- 데이터 통신과 컴퓨터 네트워크
- HANBIT Academy
- 주우석
- BOJ
- 김진홍 옮김
Archives
- Today
- Total
cyphen156
백준-집합과 맵 14425 문자열 집합 본문
집합 S에 포함되는 문자열이 몇 개인지 구하는 프로그램
메모리를 상당히 많이 줬으므로 길이 기반, 첫 문자 기반 해시 버킷 분할 가능
최대 메모리 사용량은 20000 * 500byte * 26(char)
제약사항
- 0 < N <= 10,000
- 0 < M <= 10,000
- 0 < strLen <= 500
주의 사항
없다.
CPP풀이
문자열 집합_14425.cpp
/**
* 백준 문자열 집합_14425
*
*
* 제한사항
*****************************************
*
*****************************************
*
*
*
* 주의
* 없다.
*
* 풀이시간 30분
*/
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int N, M;
vector<string> strArr[501][26];
bool isSorted[501][26] = { 0 };
cin >> N >> M;
for (int i = 0; i < N; ++i)
{
string str;
cin >> str;
int strlen = str.length();
char ch = str.front();
int headIDX = ch - 'a';
strArr[strlen][headIDX].push_back(str);
}
int count = 0;
for (int i = 0; i < M; ++i)
{
string str;
cin >> str;
int strlen = str.length();
char ch = str.front();
int headIDX = ch - 'a';
if (!isSorted[strlen][headIDX])
{
sort(strArr[strlen][headIDX].begin(), strArr[strlen][headIDX].end());
isSorted[strlen][headIDX] = true;
}
if (binary_search(strArr[strlen][headIDX].begin(), strArr[strlen][headIDX].end(), str))
{
count++;
}
}
cout << count << '\n';
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
| 백준-집합과 맵 1620 나는야 포켓몬 마스터 이다솜 (0) | 2025.05.13 |
|---|---|
| 백준-집합과 맵 7785 회사에 있는 사람 (0) | 2025.05.09 |
| 백준-집합과 맵 10815 숫자 카드 (0) | 2025.04.30 |
| 백준-정렬 좌표 압축 (0) | 2025.04.30 |
| 백준-정렬 10814 나이순 정렬 (0) | 2025.04.29 |