728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
이번 문제는 리스트의 중간 요소를 파악해서 정답에 반영하는 것이다.
반복문을 통해 임시 리스트에 점수가 하나씩 들어오면, 내림차순을 통해 정렬해준 뒤, k번째 요소를 정답에 추가해주면 된다.
임시 리스트의 길이가 k보다 작을 경우, 임시 리스트의 맨 마지막 요소를 반환하도록 했다.
정답 코드
C++
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(int k, vector<int> score) {
vector<int> answer;
vector<int> q;
for (int i = 0; i < score.size(); i++) {
q.push_back(score[i]);
sort(q.rbegin(), q.rend());
if (q.size() < k) answer.push_back(q[q.size() - 1]);
else answer.push_back(q[k - 1]);
}
return answer;
}
python
def solution(k, score):
answer = []
q = []
for s in score :
q.append(s)
q.sort(reverse = True)
if (len(q) < k) :
answer.append(q[-1])
else :
answer.append(q[k - 1])
return answer
728x90
'Algorithm > PS' 카테고리의 다른 글
[C++, python] 프로그래머스 - 기사단원의 무기 (0) | 2023.02.25 |
---|---|
[C++, python] 프로그래머스 - 숫자 짝궁 (0) | 2023.02.25 |
[C++, python] 프로그래머스 - 과일 장수 (0) | 2023.02.25 |
[C++, python] 프로그래머스 - 가장 가까운 작은 글자 (0) | 2023.02.25 |
[C++, python] 프로그래머스 - 크기가 작은 부분 문자열 (0) | 2023.02.25 |