반응형
Theo, 테오
시행착오를 줄이는 방법 - 진태양
Theo, 테오
  • 분류 전체보기 (82)
    • General (28)
      • Essay (22)
      • Craftsmanship (2)
      • IT Meet & Hack (4)
    • Finance (1)
      • Portfolio (1)
      • Activity (0)
    • Infrastructure (1)
      • Kubernetes (0)
      • AWS (1)
    • Development (45)
      • News (4)
      • Architecture (4)
      • Web (1)
      • Spring Framework (7)
      • JVM (12)
      • MongoDB (0)
      • Git (2)
      • Algorithm (14)
      • Python (1)
    • Computer Science (1)
      • Network (1)
    • Civic Hacking (3)
      • Code for Korea (3)
    • Know-how (2)
      • IT Service (1)
      • Career (1)
    • English (1)
      • Translation (1)

인기 글

  • [Java & Kotlin] enum class가 완벽한 ⋯
    2021.12.13
    [Java & Kotlin] enum class가 완벽한 ⋯
  • Why DDD, Clean Architecture and ⋯
    2022.03.10
    Why DDD, Clean Architecture and ⋯
  • SpringBoot에서 STOMP로 채팅 애플리케이션 만들⋯
    2021.12.13
    SpringBoot에서 STOMP로 채팅 애플리케이션 만들⋯
  • [번역] 개발자가 잠자는 동안 돈을버는 5가지 방법 | 사⋯
    2022.04.17
    [번역] 개발자가 잠자는 동안 돈을버는 5가지 방법 | 사⋯
  • SpringBoot에서 STOMP로 채팅 애플리케이션 만들⋯
    2021.12.14
    SpringBoot에서 STOMP로 채팅 애플리케이션 만들⋯

블로그 메뉴

  • 홈
  • 관리
  • 방명록
hELLO · Designed By 정상우.
Theo, 테오

시행착오를 줄이는 방법 - 진태양

[LeetCode] 20. Valid Parentheses (Kotlin)
Development/Algorithm

[LeetCode] 20. Valid Parentheses (Kotlin)

2021. 12. 2. 11:51
반응형

https://leetcode.com/problems/valid-parentheses/

 

Valid Parentheses - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

class Solution {
    fun isValid(s: String): Boolean {
        val stack = Stack<String>()

        s.forEach {
            val currentBracket = it.toString()

            if (currentBracket.isOpenedBracket()) {
                stack.push(currentBracket)
            } else {
                if (stack.isEmpty()) return false

                val lastBracket = stack.pop()
                if (lastBracket.isClosedBracket() || !currentBracket.isMatchedBracket(lastBracket)) {
                    return false
                }
            }
        }
        return stack.isEmpty()
    }
    
    private fun String.isOpenedBracket() = listOf("(", "[", "{").contains(this)
    private fun String.isClosedBracket() = listOf(")", "]", "}").contains(this)
    private fun String.isMatchedBracket(bracket: String) =
        this == "(" && bracket == ")" || this == ")" && bracket == "(" ||
                this == "[" && bracket == "]" || this == "]" && bracket == "[" ||
                this == "{" && bracket == "}" || this == "}" && bracket == "{"
}

https://github.com/960813/leetcode-problems/commit/013c14fa00a72d643fe416fd0949bd2fd41b62d9

 

[020] Kotlin · 960813/leetcode-problems@013c14f

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

github.com

 

반응형
저작자표시 비영리 동일조건

    ☕️ Networking

    기술 직군의 기술적인 교류, 커리어 이야기, 직군 무관 네트워킹 모두 환영합니다!

    위클리 아카데미 오픈 채팅방(비밀번호: 9323)

    kakaotalk: https://open.kakao.com/o/gyvuT5Yd

    'Development/Algorithm' 카테고리의 다른 글
    • [LeetCode] 26. Remove Duplicates from Sorted Array (Kotlin)
    • [LeetCode] 198. House Robber (Kotlin)
    • [LeetCode] 14. Longest Common Prefix (Kotlin)
    • [LeetCode] 13. Roman to Integer (Kotlin)
    Leetcode, 릿코드, 알고리즘, 코테, 코틀린
    Theo, 테오
    Theo, 테오
    Java/Kotlin, Spring 백엔드 관련 기술을 익히고 공유합니다.
    [LeetCode] 198. House Robber (Kotlin)
    다음 글
    [LeetCode] 198. House Robber (Kotlin)
    [LeetCode] 14. Longest Common Prefix (Kotlin)
    이전 글
    [LeetCode] 14. Longest Common Prefix (Kotlin)

    티스토리툴바