본문 바로가기

백준 문풀31

백준 1764 듣보잡두 map에서 겹치는 원소를 찾기 위해 추가적으로 result map을 이용하였다.모든 요소들을 result에 추가하면서 벨류를 증가시켜 겹치는 키의 벨류가 증가하도록 하였다.interator가 가르키는 요소의 키값이 존재하고 2번 입력받았다면 count를 증가시키고 아니라면 result 에서 원소를 삭제했다.count로 겹치는 요소의 개수를 출력해주었다.result에 남은 요소는 겹치는 요소만 남긴 것이기 때문에 result의 요소를 모두 출력해줘 프로그램을 완성했다. #include #include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); map see; map .. 2024. 5. 6.
백준 11478 서로 다른 부분 문자열의 개수0번 인덱스부터 1개, 2개,...,n개1번 인덱스부터 1개, 2개,...,n-1개..n번 인덱스부터 1개형태로 루프를 구성하여 문자열을 슬라이싱 해준 뒤 set 집합에 넣어 중복 원소를 제거해주었다.슬라이싱을 위한 메소드로는 str.substr(시작 인덱스,개수); 를 입력해주면 된다 #include#include#includeusing namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); setset_str; string str; cin >> str; for (int i = 0;i 2024. 5. 6.
백준 11279 최대 힙최대 힙을 사용하기 위해 queue 자료구조를 사용하였다.pop()은 최대값을 삭제할 뿐 최대값을 반환해주지는 않으므로 top()을 통해 최대값을 반환받은 후 pop()으로 제거해주었다.#include#include#includeusing namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); priority_queuemax_heap; long long num; int x; cin >> num; for (int i = 0;i > x; if (x == 0) { if (max_heap.empty()) { cout 2024. 5. 6.
백준 7785 회사에 있는 사람공백을 구분된 두 입력을 받을 때 cin>>n>>m; 이어서 쓰면된다.it은 interator로 it->first는 요소의 첫번째인 key를 의미하고  it->second은 요소의 value를 의미한다.맵에 저장된 순서의 역순으로 출력하기 위해 rbegin()과 rend()를 사용하여 역순 순서로 출력할 수 있도록 해주었다.  #include #include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); mapemployee; int num = 0; string name, work; cin >> num; for (int i = 0;i > name.. 2024. 5. 6.