μΈνλνκ΅ μ»΄ν¨ν°κ³΅νκ³Όλ₯Ό μ‘Έμ νκΈ° μν΄μλ, μ 곡νμ μ΄ 3.3 μ΄μμ΄κ±°λ μ‘Έμ κ³ μ¬λ₯Ό ν΅κ³Όν΄μΌ νλ€. κ·Έλ°λ° μλΏμΈ, μΉνμ΄λ κΉλΉ‘νκ³ μ‘Έμ κ³ μ¬λ₯Ό μμνμ§ μμλ€λ μ¬μ€μ κΉ¨λ¬μλ€!
μΉνμ΄μ μ 곡νμ μ κ³μ°ν΄μ£Όλ νλ‘κ·Έλ¨μ μμ±ν΄λ³΄μ.
μ 곡νμ μ μ 곡과λͺ©λ³ (νμ Γ κ³Όλͺ©νμ )μ ν©μ νμ μ μ΄ν©μΌλ‘ λλ κ°μ΄λ€.
μΈνλνκ΅ μ»΄ν¨ν°κ³΅νκ³Όμ λ±κΈμ λ°λ₯Έ κ³Όλͺ©νμ μ λ€μ νμ κ°λ€.
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.0
P/F κ³Όλͺ©μ κ²½μ° λ±κΈμ΄ Pλλ Fλ‘ νμλλλ°, λ±κΈμ΄ PμΈ κ³Όλͺ©μ κ³μ°μμ μ μΈν΄μΌ νλ€.
κ³Όμ° μΉνμ΄λ 무μ¬ν μ‘Έμ ν μ μμκΉ?
20μ€μ κ±Έμ³ μΉνμ΄κ° μκ°ν μ 곡과λͺ©μ κ³Όλͺ©λͺ , νμ , λ±κΈμ΄ 곡백μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€.
μΉνμ΄μ μ 곡νμ μ μΆλ ₯νλ€.
μ λ΅κ³Όμ μ λμ€μ°¨ λλ μλμ€μ°¨κ°
(10^{-4}) μ΄νμ΄λ©΄ μ λ΅μΌλ‘ μΈμ νλ€.
1 β€ κ³Όλͺ©λͺ
μ κΈΈμ΄ β€ 50
κ³Όλͺ©λͺ
μ μνλ²³ λμλ¬Έμ λλ μ«μλ‘λ§ μ΄λ£¨μ΄μ Έ μμΌλ©°, λμ΄μ°κΈ° μμ΄ μ£Όμ΄μ§λ€. μ
λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ¨λ κ³Όλͺ©λͺ
μ μλ‘ λ€λ₯΄λ€.
νμ μ 1.0,2.0,3.0,4.0μ€ νλμ΄λ€.
λ±κΈμ A+,A0,B+,B0,C+,C0,D+,D0,F,Pμ€ νλμ΄λ€.
μ μ΄λ ν κ³Όλͺ©μ λ±κΈμ΄ Pκ° μλμ΄ λ³΄μ₯λλ€.
μμ μ λ ₯ 1
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
μμ μΆλ ₯ 1
μμ μ λ ₯ 2
BruteForce 3.0 F
Greedy 1.0 F
DivideandConquer 2.0 F
DynamicProgramming 3.0 F
DepthFirstSearch 4.0 F
BreadthFirstSearch 3.0 F
ShortestPath 4.0 F
DisjointSet 2.0 F
MinimumSpanningTree 2.0 F
TopologicalSorting 1.0 F
LeastCommonAncestor 2.0 F
SegmentTree 4.0 F
EulerTourTechnique 3.0 F
StronglyConnectedComponent 2.0 F
BipartiteMatching 2.0 F
MaximumFlowProblem 3.0 F
SuffixArray 1.0 F
HeavyLightDecomposition 4.0 F
CentroidDecomposition 3.0 F
SplayTree 1.0 F
μμ μΆλ ₯ 2
μμ 1μ μΉνμ΄μ μ€μ μ 곡과λͺ© μ±μ μ΄λ€.
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n")
let scoreSum = 0
let getScores = 0
const subScore = {
"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.0,
}
input.forEach(line => {
const [subName, score, subClass] = line.split(" ")
// P νμ μ μ±μ νμ§ μμ
if(subClass !== 'P') {
const subClassScore = subScore[subClass]
// νμ λμ
scoreSum += Number(score)
// νμ * κ³Όλͺ©νμ
getScores += Number(score) * subClassScore
}
})
console.log(getScores / scoreSum)