(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 |