-
[프로그래머스/위클리 챌린지] 2주차 (C++)알고리즘 문제풀이/프로그래머스 2021. 8. 12. 17:10
https://programmers.co.kr/learn/courses/30/lessons/83201
현재 행을 기준으로 평균을 구하는 것이 아니라, 열을 기준으로 평균을 구하는 것을 주의(세로로 평균을 구해야 함)
#include <string> #include <vector> #include <algorithm> using namespace std; string answer = ""; void getGrade(int avg) { if(avg >= 90) answer += "A"; else if(avg >= 80 && avg < 90) answer += "B"; else if(avg >= 70 && avg < 80) answer += "C"; else if(avg >= 50 && avg < 70) answer += "D"; else answer += "F"; } string solution(vector<vector<int>> scores) { int size = scores.size(); for(int i = 0; i < size; i++) { // col int sum = 0, maxx = -2147000000, minn = 2147000000, now = scores[i][i]; for(int j = 0; j < size; j++) { // row if(i == j) continue; maxx = max(maxx, scores[j][i]); minn = min(minn, scores[j][i]); sum += scores[j][i]; } if(now < minn || now > maxx) { getGrade(sum / (size - 1)); continue; } sum += now; getGrade(sum / size); } return answer; }
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/위클리 챌린지] 4주차 (C++) (0) 2021.08.30 [프로그래머스/Level 4] 무지의 먹방 라이브 (0) 2021.08.21 [프로그래머스/위클리 챌린지] 1주차 (C++) (0) 2021.08.12 [프로그래머스/Level 2] 2개 이하로 다른 비트 (C++) (0) 2021.07.27 [프로그래머스/Level 1] 숫자 문자열과 영단어 (C++) (0) 2021.07.26