ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 🍬 λ°±μ€€ 6단계 :: 4344 번
    2023. 4. 29. 15:25
    λ°˜μ‘ν˜•

    평균은 λ„˜κ² μ§€

    문제   |

      λŒ€ν•™μƒ μƒˆλ‚΄κΈ°λ“€μ˜ 90%λŠ” μžμ‹ μ΄ λ°˜μ—μ„œ 평균은 λ„˜λŠ”λ‹€κ³  μƒκ°ν•œλ‹€. 당신은 κ·Έλ“€μ—κ²Œ μŠ¬ν”ˆ μ§„싀을 μ•Œλ €μ€˜μ•Ό ν•œλ‹€.

     

    μž…λ ₯   |

      μ²«μ§Έ μ€„μ—λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Cκ°€ 주어진닀.

      λ‘˜μ§Έ 쀄뢀터 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€ ν•™μƒμ˜ 수 N(1 ≤ N ≤ 1000, N은 μ •μˆ˜)이 첫 수둜 주어지고, μ΄μ–΄μ„œ Nλͺ…μ˜ μ μˆ˜κ°€ 주어진닀. μ μˆ˜λŠ” 0보닀 ν¬κ±°λ‚˜ κ°™κ³ , 100보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜μ΄λ‹€.

     

    좜λ ₯   |

      κ° μΌ€μ΄μŠ€λ§ˆλ‹€ ν•œ 쀄씩 평균을 λ„˜λŠ” ν•™μƒλ“€μ˜ λΉ„μœ¨μ„ λ°˜μ˜¬λ¦Όν•˜μ—¬ μ†Œμˆ˜μ  μ…‹μ§Έ μžλ¦¬κΉŒμ§€ 좜λ ₯ν•œλ‹€.

     

     

    풀이  |

      ν•™μƒλ“€μ˜ 점수λ₯Ό μ €μž₯ν•œ array의 평균을 κ΅¬ν•œ λ’€, 평균보닀 높은 점수의 count()λ₯Ό κ΅¬ν•œλ‹€.

      ν•΄λ‹Ή count()와 학생 수, 즉 이전에 점수λ₯Ό μ €μž₯ν•œ array의 size λ˜λŠ” N을 μ΄μš©ν•΄ 평균을 λ„˜μ€ 학생 수의 평균을 κ΅¬ν•œλ‹€.

     

     

    λ‹΅μ•ˆ  |

    import java.util.Scanner
    
    fun main() = with(Scanner(System.`in`)) {
        val C = nextInt()
        
        repeat(C) {
            val N = nextInt()
            var student = Array(N) { 0 }
            
            for (i in 0 until N) {
                student[i] = nextInt()
            }
            
            var score = 0
            student.forEach { score += it }
            
            val average = score / student.size
            val overAvg = student.filter { it > average }.count()
            val result = String.format("%.3f", (overAvg.toFloat() / N * 100).toDouble()) + "%"
            println(result)
        }
    }
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.