일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Code Jam 2022
- on-prem
- secondlowestgrade
- Code Jam
- 코딩테스트
- K8S
- openebs
- 3D PRINTING
- ingress-nginx
- nestedlists
- ESXi 업데이트
- 해커랭크
- 방송통신대학교 대학원 정보과학과
- LEVEL 2
- 방통대 대학원 정보과학과
- Python
- 2022
- MySQL
- Qualification Round
- 파이썬
- GitLab
- C++
- hackerrank
- 정보과학과
- 하늘과 바람과 별과 詩
- swift
- Kubernetes
- 하늘과 바람과 별과 시
- 프로그래머스
Archives
- Today
- Total
공대생의 비망록
[프로그래머스][Lv. 2] 위장 C++ 풀이 본문
https://programmers.co.kr/learn/courses/30/lessons/42578
코딩테스트 연습 - 위장
programmers.co.kr
풀이는 추후에 차차 올리도록 하겠습니다...
Swift로도 푼 문제!
Swift 풀이 : https://youngdeveloper.tistory.com/145
<디버깅을 위한 기능이 포함된 첫 제출 코드>
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#include <string>
#include <vector>
#include <iostream>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
vector<string> clothTypes;
vector<vector<string>>::iterator iter;
vector<string>::iterator it;
map<string, vector<string>> clothesMap;
map<string, vector<string>>::iterator cmIter;
printf("clothes:\n");
for (iter = clothes.begin(); iter != clothes.end(); iter++) {
for (int i = 1; i < (*iter).size(); i++) {
if (i % 2 == 1) {
cout << "type: " << (*iter)[i] << ", names: " << (*iter)[i - 1] << endl;
if (clothesMap.find((*iter)[i]) != clothesMap.end()) {
clothesMap.insert(make_pair((*iter)[i], vector<string>()));
clothTypes.push_back((*iter)[i]);
}
clothesMap[(*iter)[i]].push_back((*iter)[i - 1]);
}
}
}
printf("\n");
printf("clothesMap:\n");
for (cmIter = clothesMap.begin(); cmIter != clothesMap.end(); cmIter++) {
(*cmIter).first == elements of clothTypes vector
cout << "[" << (*cmIter).first << "]: ";
for (vector<string>::iterator tmp = ((*cmIter).second).begin(); tmp != ((*cmIter).second).end(); tmp++) {
cout << *tmp << " ";
}
cout << endl;
answer *= ((*cmIter).second).size() + 1;
}
printf("\n");
return answer - 1;
}
|
cs |
<제출용 코드>
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
|
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(vector<vector<string>> clothes) {
int answer = 1;
vector<vector<string>>::iterator iter;
map<string, vector<string>> clothesMap;
map<string, vector<string>>::iterator cmIter;
for (iter = clothes.begin(); iter != clothes.end(); iter++) {
for (int i = 1; i < (*iter).size(); i += 2) {
if (clothesMap.find((*iter)[i]) != clothesMap.end()) {
clothesMap.insert(make_pair((*iter)[i], vector<string>()));
}
clothesMap[(*iter)[i]].push_back((*iter)[i - 1]);
}
}
for (cmIter = clothesMap.begin(); cmIter != clothesMap.end(); cmIter++) {
answer *= ((*cmIter).second).size() + 1;
}
return answer - 1;
}
|
cs |
'Programming Language > C, C++' 카테고리의 다른 글
[프로그래머스][Lv. 2] 가장 큰 수 C++ 풀이 (0) | 2022.05.17 |
---|---|
[프로그래머스][Lv. 2] 주식가격 C++ 풀이 (0) | 2022.05.04 |
[프로그래머스][Lv. 2] 행렬의 곱셈 C++ 풀이 (0) | 2022.05.03 |
[프로그래머스][Lv. 2] 카카오프렌즈 컬러링북 C++ 풀이 (0) | 2022.05.03 |
[C++] map 컨테이너에 데이터 추가하기 insert()? [] 연산자? (0) | 2022.05.03 |
Comments