ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 🍬 λ°±μ€€ 16단계 :: 10773 번
    2025. 3. 30. 14:38
    λ°˜μ‘ν˜•

    제둜

    문제   |

      λ‚˜μ½”λ” κΈ°μž₯ μž¬λ―Όμ΄λŠ” 동아리 νšŒμ‹μ„ μ€€λΉ„ν•˜κΈ° μœ„ν•΄μ„œ μž₯λΆ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 쀑이닀.

      μž¬ν˜„μ΄λŠ” 재민이λ₯Ό λ„μ™€μ„œ λˆμ„ κ΄€λ¦¬ν•˜λŠ” 쀑인데, μ• μ„ν•˜κ²Œλ„ 항상 μ •μ‹ μ—†λŠ” μž¬ν˜„μ΄λŠ” λˆμ„ μ‹€μˆ˜λ‘œ 잘λͺ» λΆ€λ₯΄λŠ” 사고λ₯Ό 치기 μΌμ‘€μ˜€λ‹€.

      μž¬ν˜„μ΄λŠ” 잘λͺ»λœ 수λ₯Ό λΆ€λ₯Ό λ•Œλ§ˆλ‹€ 0을 μ™Έμ³μ„œ, κ°€μž₯ μ΅œκ·Όμ— μž¬λ―Όμ΄κ°€ μ“΄ 수λ₯Ό μ§€μš°κ²Œ μ‹œν‚¨λ‹€.

      μž¬λ―Όμ΄λŠ” μ΄λ ‡κ²Œ λͺ¨λ“  수λ₯Ό λ°›μ•„ 적은 ν›„ κ·Έ 수의 합을 μ•Œκ³  μ‹Άμ–΄ ν•œλ‹€. 재민이λ₯Ό λ„μ™€μ£Όμž!

     

    μž…λ ₯   |

    첫 번째 쀄에 μ •μˆ˜ Kκ°€ 주어진닀. (1 ≤ K ≤ 100,000)

    이후 K개의 쀄에 μ •μˆ˜κ°€ 1κ°œμ”© 주어진닀. μ •μˆ˜λŠ” 0μ—μ„œ 1,000,000 μ‚¬μ΄μ˜ 값을 가지며, μ •μˆ˜κ°€ "0" 일 κ²½μš°μ—λŠ” κ°€μž₯ μ΅œκ·Όμ— μ“΄ 수λ₯Ό μ§€μš°κ³ , 아닐 경우 ν•΄λ‹Ή 수λ₯Ό μ“΄λ‹€.

    μ •μˆ˜κ°€ "0"일 κ²½μš°μ— μ§€μšΈ 수 μžˆλŠ” μˆ˜κ°€ μžˆμŒμ„ 보μž₯ν•  수 μžˆλ‹€.

     

    좜λ ₯   |

    μž¬λ―Όμ΄κ°€ μ΅œμ’…μ μœΌλ‘œ 적어 λ‚Έ 수의 합을 좜λ ₯ν•œλ‹€. μ΅œμ’…μ μœΌλ‘œ 적어낸 수의 합은 $2^{23}$-1보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜μ΄λ‹€.

     

     

    풀이  |

      listλ₯Ό μ΄μš©ν•΄ κ°„λ‹¨νžˆ 처리

     

     

    λ‹΅μ•ˆ  |

    import java.io.BufferedReader
    import java.io.InputStreamReader
    
    fun main() {
        val br = BufferedReader(InputStreamReader(System.`in`))
        val K = br.readLine().toInt()
        val stack = mutableListOf<Int>()
    
        repeat(K) {
            val num = br.readLine().toInt()
            if (num == 0) stack.removeLast()
            else stack.add(num)
        }
    
        print(stack.sum())
    }
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.