일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이분탐색
- 4796
- 옵셔널 체이닝 연산자
- 브루트포스 알고리즘
- 정수 삼각형
- 1620
- 프로그래머스
- mermaid js
- 깊이 우선 탐색
- 소수 체크
- 5525
- Hasing
- 다이내믹 프로그래밍
- 10162
- javascript
- Git Convention
- 주식 가격
- 없는 숫자 더하기
- react
- 18111
- 구간 합 구하기 4
- js
- C++
- 숫자 문자열과 영단어
- n^2 배열 자르기
- 위클리 챌린지
- colorSyntax
- 2018 KAKAO BLIND RECRUITMENT
- BOJ
- codeSyntaxHighlight
Archives
- Today
- Total
개발하는 kim-hasa
[c++][프로그래머스] 4주차 본문
https://programmers.co.kr/learn/courses/30/lessons/84325
코딩테스트 연습 - 4주차
개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부
programmers.co.kr
4주차 입니다.
가장 먼저 데이터를 받아와서 공백을 기준으로 나눕니다.
그 다음 언어가 있다면, 그 언어의 점수와 선호도를 구해서 바로 더합니다.
만약 합계가 이전값보다 큰 경우, 정답에 data[0] 즉 이름을 넣고 가장 큰 값에 합계를 저장합니다.
같은 경우, 사전순으로 먼저오는 data[0]을 비교해서 이름에 넣습니다.
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> table, vector<string> languages, vector<int> preference) {
string answer = "";
int sum = 0;
int big = 0; // 합계를 저장할 변수
vector<string> data; // data를 넣을 벡터
for(int i=0; i<table.size(); i++)
{
string str1 = table[i];
string str2 = "";
for(int j = 0; j<str1.length(); j++)
{
if(str1[j] == ' ')
{
data.push_back(str2);
str2 = "";
}
else
{
str2 += str1[j];
}
}
data.push_back(str2); // data 분리
for(int k=0; k<languages.size(); k++)
{
for(int l=1; l<data.size(); l++)
{
if(data[l] == languages[k])
{
sum += (6-l) * preference[k]; // 비교해서 총합 점수를 구함
break;
}
}
}
if(big < sum) // 더 크면 answer 변경
{
answer = data[0];
big = sum;
}
else if(big == sum) // 같다면, 사전에서 먼저오는 것으로 변경
{
if(answer > data[0])
answer = data[0];
}
data.clear();
sum = 0;
}
return answer;
}
'Algorithm > Programmers(c++)' 카테고리의 다른 글
[c++][프로그래머스] 숫자의 표현 (0) | 2021.08.30 |
---|---|
[c++][프로그래머스] 다리를 지나는 트럭 (0) | 2021.08.30 |
[c++][프로그래머스] 전화번호 목록 (0) | 2021.08.25 |
[c++][프로그래머스] 예상 대진표 (0) | 2021.08.24 |
[c++][프로그래머스] 최솟값 만들기 (0) | 2021.08.23 |