LV.1치고 문제 설명이 길었다
이해는 다했는데 map 사용이 미숙해서 틀린 문제
정답 풀이
https://tnwlswkd.tistory.com/126
이 분 코드가 가장 깔끔해서 공부해봤다
map 사용 방법 및 ? 사용법에 대해서도 다시 생각해볼 수 있었던 문제
한두시간을 고민고민했는데 아직 풀 수 없었다
복습하다보면 될거라 믿는다...
LV.1인데 제대로 안 풀려서 속상
또 LV.1 더 풀러 간다
백준 실버는 좀 익숙해지려 하는데 여전히 갈 길이 머네
내 풀이_ 컴파일 에러
#include <iostream>
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> survey, vector<int> choices) {
string answer = "";
vector<pair<char,int>> surveyScore;
for(int i = 0; i < choices.size(); i++) {
string a= survey[i].substr(0,1);
string b=survey[i].substr(1,1);
if (choices[i]==1){
surveyScore.push_back(make_pair(first,3));
}
else if (choices[i]==2){
surveyScore.push_back(make_pair(first,2));
}else if (choices[i]==3){
surveyScore.push_back(make_pair(first,1));
}else if (choices[i]==4){
surveyScore.push_back(make_pair(first,0));
} else if (choices[i]==5){
surveyScore.push_back(make_pair(second,1));
}else if (choices[i]==6){
surveyScore.push_back(make_pair(second,2));
} else if (choices[i]==7){
surveyScore.push_back(make_pair(second,3));
}
}
int rScore, tScore, cScore, fScore, jScore,mScore, aSCore, nScore;
for(int i = 0; i < surveyScore.size(); i++) {
if (surveyScore[i].first=='R')
{
rScore+= surveyScore[i].second;
}
else if (surveyScore[i].first=='T')
{
tScore+= surveyScore[i].second;
}
else if (surveyScore[i].first=='C')
{
cScore+= surveyScore[i].second;
}
else if (surveyScore[i].first=='F')
{
fScore+= surveyScore[i].second;
}
else if (surveyScore[i].first=='J')
{
jScore+= surveyScore[i].second;
}
if (surveyScore[i].first=='M')
{
mScore+= surveyScore[i].second;
}
if (surveyScore[i].first=='A')
{
aScore+= surveyScore[i].second;
}
if (surveyScore[i].first=='N')
{
nScore+= surveyScore[i].second;
}
}
if (rScore>tScore){
char rT='R';
}
else{
char rT='T';
}
if (cScore>fScore){
char cf='C';
}
else{
char cf='F';
}
if (jScore>mScore){
char jm='J';
}
else{
char jm='M';
}
if (aScore>nScore){
char an='A';
}
else{
char an='N';
}
answer= rt+cf+jm+an;
return answer;
}
? 안쓰고 이 난리 치다 틀렸다
아래 처럼 풀었어야 하는데
핵심
answer += m['R'] >= m['T'] ? "R" : "T";
answer += m['C'] >= m['F'] ? "C" : "F";
answer += m['J'] >= m['M'] ? "J" : "M";
answer += m['A'] >= m['N'] ? "A" : "N";
'CS > 알고리즘' 카테고리의 다른 글
[c++][프로그래머스] 푸드파이터 [성공] (0) | 2023.08.03 |
---|---|
[c++] [프로그래머스]크기가 작은 문자열 [성공] (0) | 2023.08.02 |
백준 1978번: 소수 찾기 (자세한 설명 포함) (0) | 2023.02.27 |
백준 1920번 이진탐색 파이썬 - 시간초과의 이유 (0) | 2023.02.24 |
백준 2751번 c++ 풀이, sort (2) | 2023.02.24 |