장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[C++] BOJ 10825 국영수
알고리즘/백준

[C++] BOJ 10825 국영수

2022. 1. 7. 22:45
반응형

 

 

문제 출처

백준 온라인 저지

https://www.acmicpc.net/problem/10825

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1

www.acmicpc.net

 

문제 

 

입 / 출력

 

풀이

sort 함수를 사용해서 compare로 구조체의 정렬 기준을 설정해서 출력한다

 

 

코드

#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int n;
int a, b, c;
string s;

struct GPA {
  string name;
  int korean;
  int english;
  int math;
};

vector<GPA> arr;

bool compare(GPA a, GPA b) {
  if (a.korean == b.korean)
    if (a.english == b.english)
      if (a.math == b.math)
        return a.name < b.name;
      else
        return a.math > b.math;
    else
      return a.english < b.english;
  else
    return a.korean > b.korean;
}

int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    GPA temp;
    cin >> temp.name >> temp.korean >> temp.english >> temp.math;
    arr.push_back(temp);
  }

  sort(arr.begin(), arr.end(), compare);

  for (int i = 0; i < n; i++) {
    cout << arr[i].name << "\n";
  }
}

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[C++] BOJ 11655 ROT13  (0) 2022.01.18
[C++] BOJ 9012 괄호  (0) 2022.01.18
[C++] BOJ 11052 카드 구매하기  (0) 2022.01.05
[C++] BOJ 9461 파도반 수열  (0) 2022.01.05
[C++] BOJ 2579 계단 오르기  (0) 2022.01.05
    '알고리즘/백준' 카테고리의 다른 글
    • [C++] BOJ 11655 ROT13
    • [C++] BOJ 9012 괄호
    • [C++] BOJ 11052 카드 구매하기
    • [C++] BOJ 9461 파도반 수열
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바