일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C++
- 컴퓨터과학과
- Deep learning
- 딥러닝
- 마니토바
- 알고리즘
- 조지아텍
- LAA
- 방통대
- omscs
- 머신러닝
- MATLAB
- Plotting
- 프로그래머스
- zeros
- mpnp
- 기본
- leetcode
- 개발자
- 방송통신대학교
- 코딩테스트
- machine learning
- 캐나다 영주권
- LV1
- 온라인석사
- 매트랩
- cpp
- EOI
- 선형대수
- 주정부이민
Archives
- Today
- Total
Krononberg
프로그래머스) 완주하지못한 선수 c++ 본문
여기서는 배울 점이 크게 2가지가 있다.
1) unordered_map에 데이터를 넣는법(stirng,int pair한정)과, 2) 콜론(:)과 auto를 활용한 for문 작성법.
1)unordered_map에 데이터를 넣는법
vector container 쓸때는 push_back해서 뒤에서부터 차례로 넣었는데,
map은 (string, int) pair일 경우, x[key]++; 하면 그냥 넣어진다.
int의 경우 값을 지정하지 않으면 default로 0이 저장되어 잇나보다.
2)콜론(:)과 auto를 활용한 for문 작성법
' : '
내가 반복자로 쓸 데이터타입과 변수명을 지정하고, 그 반복자를 적용할 집합?만 지정해주면 된다.
string 변수명 : 적용할 집합
for( string name : participant) -> string 형태의 name을 participant를 돌면서 완주해라.
'auto'
ex)
auto는 위에 잇는 데이터 타입까지 알아서 찾아준다. map처럼 hash로 되어 있는 것도 하나씩 iterate 해줌.
for ( auto x : mapped_participant ) -> x(pair형태)의 x를 mapped_participant를 돌면서 완주해라.
//unordered_map 사용법
//auto 사용법
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
unordered_map<string,int>participant_map;
for (string name : participant)
participant_map[name]++;
for (string name : completion)
participant_map[name]--;
for (auto pair : participant_map){
if(pair.second >=1)
answer = pair.first;
}
return answer;
}
'개발 로그 > 알고리즘' 카테고리의 다른 글
프로그래머스) 행렬의 덧셈. 파이썬 (0) | 2021.09.01 |
---|---|
프로그래머스) 찾아라 프로그래밍 마이스터 c++ (0) | 2021.08.31 |
프로그래머스 - 직업군 추천하기 C++ (0) | 2021.08.23 |
크레인 인형뽑기 c++풀이 (0) | 2021.08.23 |
leetcode 1859. Sorting the Sentence.cpp (0) | 2021.06.21 |