티스토리 뷰
반응형
https://programmers.co.kr/learn/courses/30/lessons/83201
⊙ 문제
⊙ 제한사항
⊙ 입출력 예
⊙ 입출력 예 설명
⊙ 문제 접근 과정
먼저 자기 자신을 채점한 점수를 빼고 push 해준다.
그리고 받은 점수 중에서 가장 큰 값과 가장 작은 값을 자기 자신이 채점한 점수와 비교한다.
만약 유일한 최고점, 유일한 최저점이 아니면 push 하고 유일한 최고점과 유일한 최저점이라면 무시한다.
그리고 push되어 저장된 값들에 대해 평균을 계산하고 학점을 answer에 넣어주었다.
자세한 건 코드의 줄마다 주석을 달아놨다.
⊙ 문제 풀이
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<vector<int>> scores) {
string answer = "";
for (int i=0;i<scores.size();i++) {
vector<int> student;
for (int j=0;j<scores.size();j++) {
if (i!=j) student.push_back(scores[j][i]); //자기 자신 제외한 점수 push!
}
int max = *max_element(student.begin(), student.end()); //그 중 가장 큰 값
int min = *min_element(student.begin(), student.end()); //그 중 가장 작은 값
if (min <= scores[i][i] && scores[i][i] <= max)
student.push_back(scores[i][i]); //유일한 최고점, 최저점이 아니면 push
//평균 계산
int avg = 0;
for (int i=0;i<student.size();i++) avg+=student[i];
avg/=student.size();
//결과 입력
if (90 <= avg) answer += 'A';
else if(80 <= avg) answer += 'B';
else if (70 <= avg) answer += 'C';
else if (50 <= avg) answer += 'D';
else answer += 'F';
}
return answer;
}
⊙ 마무리
NONE
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형
'프로그래머스 > C++ [CPP]' 카테고리의 다른 글
[프로그래머스] 코딩테스트 연습 : [3차] 자동완성 - C++[CPP] (0) | 2021.08.21 |
---|---|
[프로그래머스] 코딩테스트 연습 : 124 나라의 숫자 - C++[CPP] (0) | 2021.08.15 |
[프로그래머스] 코딩테스트 연습 : 로또의 최고 순위와 최저 순위 - C++[CPP] (0) | 2021.08.09 |
[프로그래머스] 코딩테스트 연습 : 내적 - C++[CPP] (0) | 2021.08.07 |
[프로그래머스] 코딩테스트 연습 : 부족한 금액 계산하기 - C++[CPP] (0) | 2021.08.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정리
- Web
- 우종정
- 백준
- 파이썬
- 답
- 풀이
- C++
- java
- 운영체제
- 자바스크립트
- OS
- 문자열
- BFS
- 그리디
- 쉽게배우는
- 자바
- 프로그래머스
- 해답
- Python
- 연습문제
- 알고리즘
- 구현
- CPP
- 쉽게배우는자바프로그래밍
- 쉽게 배우는 자바 프로그래밍
- 정답
- JS
- 정렬
- py
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함