반응형
https://leetcode.com/problems/relative-ranks/description/
자료구조 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 정답 vector ans를 선언하고 score.size()만큼 공간을 할당합니다.2. key에는 점수, value에는 그 점수를 가진 index를 저장할 scoreMap을 선언하고 score의 원소를 순회하며 값을 저장합니다.
📔 풀이과정
1. map에는 score에 대한 오름차순으로 저장됩니다.
2. scoreMap 원소를 순회하면서 rank에 따른 정답을 ans의 index에 저장합니다.
📔 정답 출력 | 반환
ans를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
vector<string> findRelativeRanks(vector<int>& score) {
vector <string> ans(score.size());
map<int ,int> scoreMap;
for(int i = 0; i < score.size(); i++) {
scoreMap[score[i]] = i;
}
int rank = score.size();
for(auto sm : scoreMap) {
if(rank == 1) {
ans[sm.second] = "Gold Medal";
} else if (rank == 2) {
ans[sm.second] = "Silver Medal";
} else if(rank == 3) {
ans[sm.second] = "Bronze Medal";
} else {
ans[sm.second] = to_string(rank);
}
rank--;
}
return ans;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - LeetCode (easy) 543. Diameter of Binary Tree (0) | 2023.04.17 |
---|---|
(C++) - LeetCode (easy) 530. Minimum Absolute Difference in BST (0) | 2023.04.15 |
(C++) - LeetCode (easy) 500. Keyboard Row (0) | 2023.04.05 |
(C++) - LeetCode (easy) 476. Number Complement (0) | 2023.03.25 |
(C++) - LeetCode (easy) 448. Find All Numbers Disappeared in an Array (0) | 2023.03.20 |