inblog logo
|
LHS's Study Space
    알고리즘문제풀기C#

    [알고리즘 문제 풀기] 점수 계산(2822)

    C#
    lhs's avatar
    lhs
    Jan 23, 2025
    [알고리즘 문제 풀기] 점수 계산(2822)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    www.acmicpc.net
    https://www.acmicpc.net/problem/2822
    notion image

    1. 문제 풀이 아이디어

    • 2차원 배열을 생성해 각 인덱스와 값을 저장한 뒤, 이를 정렬하여 문제를 해결한다.

    2. 나의 정답 코드

    StreamReader sr = new(Console.OpenStandardInput()); StreamWriter sw = new(Console.OpenStandardOutput()); int[][] score = new int[8][]; for (int i = 0; i < 8; i++) { score[i] = new int[2]; } int[] result = new int[5]; for (int i = 0; i < 8; i++) { score[i][0] = i + 1; score[i][1] = int.Parse(sr.ReadLine()); } Array.Sort(score, (o1, o2) => o2[1]-o1[1]); int sum = 0; for(int i = 0;i < 5;i++) { sum+= score[i][1]; result[i]= score[i][0]; } Array.Sort(result); Console.WriteLine($"{sum}\n{result[0]} {result[1]} {result[2]} {result[3]} {result[4]}"); sr.Close(); sw.Close();

    3. 정리

    • C#에서 배열의 배열을 생성할 때는 각 행의 크기를 개별적으로 초기화해야 한다.
    • 입력 값을 읽으며, 각 행에 인덱스와 값을 저장한다.
    • Array.Sort를 사용하여 값(score[i][1])을 기준으로 내림차순 정렬한다.
    • 상위 5개의 값만 선택해 합계를 구하고, 해당 인덱스를 result 배열에 저장한다.
    • Array.Sort를 사용해 result 배열을 오름차순 정렬한다.
    • 최종적으로 합계와 result 배열을 출력하여 문제를 해결한다.
    Share article

    LHS's Study Space

    RSS·Powered by Inblog