티스토리 뷰
반응형
백준 7785번 회사에 있는 사람
https://www.acmicpc.net/problem/7785
정답 코드
#include <iostream>
#include <string>
#include <algorithm>
#include <map>
#include <cstring>
#include <vector>
#include <cctype>
using namespace std;
map <string, string> member;
map <string, string, greater<string>> enter_log;
int main() {
int N;
string name, state;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> name >> state;
member.insert({name, state});
if (member.find(name) != member.end()) {
if (state == "enter") {
enter_log.insert({name, name});
}
else if (state == "leave") {
enter_log.erase(name);
}
}
else {
if (state == "enter") {
enter_log.insert({name, name});
}
}
}
for (auto k : enter_log) {
cout << k.first << '\n';
}
return 0;
}
문제 풀이
map을 사용해서 풀었습니다. map은 기본적으로 내림차순이지만 greater를 사용하게 되면 오름차순으로 정렬할 수 있습니다. 그리고 find함수를 사용하였는데 원하는 값이 없을 때에는 map.end()를 반환합니다.
그리고 for문을 each for문 형태를 사용하였는데
편리하고 간결합니다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
백준 8393번 C++ (0) | 2023.08.23 |
---|---|
백준 8370번 C++ (0) | 2023.08.23 |
백준 7576번 C++ (0) | 2023.08.22 |
백준 7569번 C++ (0) | 2023.08.22 |
백준 7568번 C++ (0) | 2023.08.22 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- 에라토스테네스의 체
- js
- 알고리즘
- 백준 풀이
- 스프링 부트 crud 게시판 구현
- DFS
- html
- BFS
- 스택
- 자료구조
- CSS
- C++
- 세그먼트 트리
- 유니온 파인드
- 투 포인터
- DP
- 반복문
- HTML5
- 자바스크립트
- 백준
- Do it!
- 자바
- 카운팅 정렬
- C++ Stack
- 알고리즘 공부
- 유클리드 호제법
- 이분 매칭
- 우선순위 큐
- c++ string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함