[BOJ/백준/C++] 7785번 회사에 있는 사람
·
Coding Test/Baekjoon
7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 📌 접근 방법 map을 활용해서 출입 기록을 담는다 set에 이름을 담고 사전 역순으로 정렬시켜둔다 정렬된 이름으로 map에서 찾아서 회사에 남아있으면 출력한다 ✅ Pass Code #include #include #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NU..
[BOJ/백준/C++] 11478번 서로 다른 부분 문자열의 개수
·
Coding Test/Baekjoon
11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 📌 접근 방법 ⚡ ababc 입력 i = 0일 때 : a, ab, aba, abab, ababc i = 1일 때 : b, ba, bab, babc i = 2일 때 : a, ab, abc i = 3일 때 : b, bc i = 4일 때 : c ➡ map 에 넣고 bool로 이미 있는 조합인지 아닌지 체크하며 카운팅 ✅ Pass Code #include #include #include #include #include #include #include #include using namespace std; int main() { ios::sy..
[BOJ/백준/C++] 18870번 좌표 압축
·
Coding Test/Baekjoon
18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net 📌 접근 방법 ⚡ 좌표 압축 : 해당 좌표의 값을 그 값보다 작은 좌표값들의 개수로 대체 N 개의 숫자를 입력받고 오름차순으로 정렬해준다 중복을 제거해주고 뒤에 필요없는 값들은 제거 해줌 (중복제거를 한 후 벡터 앞부터 다시 채운거라 뒤에는 쓰레기 값들이 남아있음) lower_bound 함수를 이용해서 찾는 값보다 같거나 큰 값을 리턴해줌. ✔ unique(b, e) 헤더파일 사용 vector의 begin, en..
[BOJ/백준/C++] 1269번 대칭 차집합
·
Coding Test/Baekjoon
1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 📌 접근 방법 겹치는 부분을 카운팅해서 A에서도 빼주고 B 에서도 빼주는 식으로 계산 ! ✅ Pass Code #include #include #include #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,m; cin>>n>>m; int total..