(1).백준 25206번 너의 평점은은 평점을 구해야 하는 문제였는데

특이하게도 P의 경우에는 그냥 Pass라는 의미인건지 제외시켜야 했고

앞에 있는 학점과 주어진 등급별 점수를 곱한 총 합을 총 학점으로 나눠서 출력해야 하는 문제였다.

 

점수를 가져와야 하기 때문에 map 형태로 쓸 수 있게 만들었고

P가 아닌 경우 총점, 학점을 합해준 다음

최종적으로 총점 / 학점을 출력하게 만들어서 해결했다.

 

예시에는 6자리로 되어있었기 때문에 toFixed(6)을 사용해서 출력할까 했었는데

막상 조건을 잘 읽어보니 오차범위 안에만 있으면 된다고 되어있어서 그냥 제외하고 출력했지만 통과했다.

const input = `ObjectOrientedProgramming1 3.0 A+
IntroductiontoComputerEngineering 3.0 A+
ObjectOrientedProgramming2 3.0 A0
CreativeComputerEngineeringDesign 3.0 A+
AssemblyLanguage 3.0 A+
InternetProgramming 3.0 B0
ApplicationProgramminginJava 3.0 A0
SystemProgramming 3.0 B0
OperatingSystem 3.0 B0
WirelessCommunicationsandNetworking 3.0 C+
LogicCircuits 3.0 B0
DataStructure 4.0 A+
MicroprocessorApplication 3.0 B+
EmbeddedSoftware 3.0 C0
ComputerSecurity 3.0 D+
Database 3.0 C+
Algorithm 3.0 B0
CapstoneDesigninCSE 3.0 B+
CompilerDesign 3.0 D0
ProblemSolving 4.0 P`.split('\n')

const gradeMap = {
    'A+' : 4.5,
    'A0' : 4.0,
    'B+' : 3.5,
    'B0' : 3.0,
    'C+' : 2.5,
    'C0' : 2.0,
    'D+' : 1.5,
    'D0' : 1.0,
    'F' : 0
}

let creditSum = 0
let gradeSum = 0

for(let i = 0 ; i < input.length ; i++){
    const [subjects, credit, grade] = input[i].split(' ')
    
    if(grade != 'P'){
        creditSum += Number(credit)
        gradeSum += credit * gradeMap[grade]
    }
}

console.log(gradeSum / creditSum)

'회고' 카테고리의 다른 글

[개발일지] - 546  (1) 2024.12.30
[개발일지] - 545(주말)  (0) 2024.12.29
[개발일지] - 543(연차)  (0) 2024.12.27
[개발일지] - 542(연차)  (0) 2024.12.26
[개발일지] - 541(크리스마스)  (0) 2024.12.25

+ Recent posts