티스토리 뷰
c++에서 map을 사용해 key와 value를 저장해서 key와 value를 출력하는 프로그램을 통해
map사용법을 설명하고자 한다.
알파벳을 key값으로 입력받아 입력된 알파벳 각각의 개수를 구하기
입력값: abcbbbcccaaabd
결과
코드
#include <iostream>
#include <fstream>
#include <map>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
ifstream cin;
cin.open("input.txt");
map<char, int> ch;
map<char, int>::iterator it;
char a[100];
cin >> a;
for(int i=0; a[i]!='\0'; i++){
ch[a[i]]++;
}
for(it=ch.begin(); it!=ch.end(); it++){
cout << it->first << ' ' << it->second << "\n";
}
return 0;
}
여러 단어를 key값으로 입력받아 입력된 단어중 가장 많이 입력된 단어와 그 개수 출력하기
입력값
8
cat
book
dog
cat
dog
book
book
dog
결과
코드
#include <iostream>
#include <fstream>
#include <map>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
ifstream cin;
cin.open("input.txt");
map<string, int> ch;
map<string, int>::iterator it;
string a;
int n;
cin >> n;
for(int i=1; i<=n; i++){
cin >> a;
ch[a]++;
}
int max=0;
string res;
for(it=ch.begin(); it!=ch.end(); it++){
if(it->second>max) {
max=it->second;
res=it->first;
}
}
cout << res << ": " << max << "\n";
return 0;
}
** 메모
- 일반적으로 scanf와 printf보다 cin, cout이 더 느린특징을 가지고 있는데 ios_base::sync_with_stdio(false)를 적으면 더 빠르게 사용할 수 있음
- endl 보다 "\n"이 더 빠르다.
- map을 순회할 때에는 iterator를 사용한다. for문에서 iterator의 begin()과 end()를 통해 map을 탐색할 수 있다. end()함수는 map의 마지막 칸보다 한칸 더 뒤에 있는 칸을 의미한다.
'lecture > algorithm - c++' 카테고리의 다른 글
[c++] 최대부분 증가수열 (0) | 2021.02.04 |
---|---|
[c++] 동적계획법(DP) (0) | 2021.02.03 |
[c++] 네임스페이스(namespace), using namespace std (0) | 2021.01.31 |
[c++] 라이언킹 심바(BFS) (0) | 2021.01.30 |
[c++] 토마토(BFS) (0) | 2021.01.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C++
- 스텍
- 재귀함수
- client side rendering
- C
- react
- 인접행렬
- 이진탐색
- 구조체
- stackframe
- 병행프로세스
- BFS
- 운영체제
- 최단경로
- 소프트웨어
- 입출력장치
- Java
- server side rendering
- 퀵정렬
- 교착상태
- 자료구조
- Stack
- 알고리즘
- javascript
- dfs
- 동적프로그래밍
- 클래스
- 배열
- 세마포어
- 인접리스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함