ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11557 Yangjojang of The Year
    ComputerScience/코딩테스트 2019. 11. 27. 23:20

    문제

    입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다.

    타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 궁금해졌다.

    학교별로 한 해동안 술 소비량이 주어질 때, 가장 술 소비가 많은 학교 이름을 출력하여라.

    입력

    입력의 첫 줄에는 테스트 케이스의 숫자 T가 주어진다.

    매 입력의 첫 줄에는 학교의 숫자 정수 N(1 ≤ N ≤ 100)이 주어진다.

    이어서 N줄에 걸쳐 학교 이름 S(1 ≤ |S| ≤ 20, S는 공백없는 대소문자 알파벳 문자열)와 해당 학교가 지난 한 해동안 소비한 술의 양 L(0 <= L <= 10,000,000)이 공백으로 구분되어 정수로 주어진다.

    같은 테스트 케이스 안에서 소비한 술의 양이 같은 학교는 없다고 가정한다.

    출력

    각 테스트 케이스마다 한 줄에 걸쳐 술 소비가 가장 많은 학교의 이름을 출력한다.

    예제 입력 1 복사

    2

    3

    Yonsei 10

    Korea 10000000

    Ewha 20

    2

    Yonsei 1

    Korea 10000000

    예제 출력 1 복사

    Korea

    Korea

     

     


    처음엔 vector로 접근하려 했는데 첫번째 col에는 string, 두번째에는 int를 구분하기가 쉽지 않았고 

    이중배열로 만드는것도 쉽지 않았다.

     

     

    YJJ라는 class 를 만들어주고

    그안에 string 과 int 변수를 설정해둔 뒤,

    new를 이용하여 동적으로 할당해줬다.

     

    new를 이용할때

     

    클래스이름 *포인터변수 = new 클래스이름;

    혹은 배열을 할당할 때,

    클래스이름 *포인터변수 = new 클래스이름[n];

    임을 기억하자.

     

    big= 0;으로 처음에 선언해둔 뒤

    모든 배열을 조사한 뒤 최대 값을 가진 배열의 인덱스를 기록한다.

    그리고 기록된 인덱스에 해당하는 학교이름을 출력한다.

     

     

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int N ,ib;
    int big=0;
    
    class YJJ{
    public:
        string school;
        int c;
    };
    int main() {
        ios_base::sync_with_stdio(0);
        cin.tie(0); //cin 속도 향상 위해
    
        cin >> N;
        while (N--) {
    
            int M;
            cin >> M;
            YJJ *y = new YJJ[M];
    
            for(int i =0 ;i<M; i++){
                cin >> y[i].school >> y[i].c;
    
                if(big<y[i].c)
                {
                    big = y[i].c;
                    ib = i;
                }
            }
            cout << y[ib].school << "\n";
        }
    
    }
    
    

    'ComputerScience > 코딩테스트' 카테고리의 다른 글

    [프로그래머스] 베스트앨범  (0) 2020.07.04
    [프로그래머스] 여행경로  (0) 2020.07.03
    [hash/map]Programmers 완주하지 못한 선수  (0) 2020.06.04
    9012번 괄호  (0) 2020.01.06
    1920번 숫자 찾기  (0) 2019.11.23

    댓글

Designed by Tistory.