본문 바로가기
반응형

Kotlin33

코틀린(Kotlin) 문법 뽀개기 - 4. 클래스와 상속, 그리고 인터페이스 코틀린으로 클래스를 작성 해 보자. 코틀린의 클래스는 흔히 하는 Class가 있다. 그 외에도 Data Class, Sealed Class라는 것이 있으나, 이는 나중에 따로 알아보자. 이번 포스팅은 기본적인 클래스와 상속, 그리고 인터페이스에 대해 알아 볼 것이다. 우선 간단한 클래스부터 작성해보자. class ExampleClass(val a: Int, val b: Int, val c: Int) { fun printValues() { println("a = $a, b = $b, c = $c") } } fun main() { val instance = ExampleClass(1, 2, 3) instance.printValues() } 이해가 될것이라 생각한다. main 함수에 객체를 생성하고 메서드를 .. 2020. 6. 27.
LeetCode - Valid Parentheses 문제 링크 : https://leetcode.com/problems/valid-parentheses/ 난이도 : Easy 문제 풀이 : 자주 접하는 괄호 짝 맞추기 문제다. 스택을 사용하면 어렵지 않게 풀 수 있다. 여는 괄호인 (, [, { 가 나오면 스택에 담고, 닫는 괄호인 ), ], } 가 나오면 스택의 Top에 있는 것을 빼내어 짝이 맞는지 검사한다. Top에 쌓인 것이 없거나, 무사히 for-loop를 빠져나왔더라도 마지막에 스택이 비어있지 않을 수 있다. 이 부분만 잘 고려하면 어렵지 않게 풀 수 있따. 소스 코드 : class ValidParentheses { fun isValid(s: String): Boolean { val stack = Stack() for(bracket in s) {.. 2020. 6. 27.
LeetCode - Longest Common Prefix 문제 링크 : https://leetcode.com/problems/longest-common-prefix/ 난이도 : Easy 문제 풀이 : 주어진 문자열들이 공통으로 갖고 있는 가장 긴 접두어를 찾는 문제다. 가장 긴 접두어는 가장 짧은 문자열의 길이보다 작거나 같다는 것만 생각하면 어렵지 않게 풀 수 있다. 가장 짧은 문자열을 기준으로 모든 문자열들의 맨 앞부터 시작하여 공통으로 가지고 있는 것들을 더해가면 된다. 소스 코드 : class LongestCommonPrefix { fun longestCommonPrefix(strs: Array): String { if(strs.isEmpty()) return "" else if(strs.size == 1) return strs[0] val sorted.. 2020. 6. 27.
LeetCode - Roman to Integer 문제 링크 : https://leetcode.com/problems/roman-to-integer/ 난이도 : Easy 문제 풀이 : Symbol에 대하여 정해진 값이 있다. 그리고 이 Symbol들을 조합하여 숫자를 표현한다. 이 때, 어떤 Symbol 두 개의 조합은 특정한 숫자를 나타낸다는 조건이 있다. IV(4), IX(9), XL(40), XC(90), CD(400), CM(900) 에 해당한다. 어떤 Symbol에 해당하는 값을 매핑시켜야 하고 조합이 몇 개 되지 않으므로 HashMap 자료구조를 사용하여 이 조합들의 값을 매핑시킨다. 그리고 주어진 문자열을 순회하면서 조합에 해당하는 값을 더해준다. 소스 코드 : class RomanToInteger { companion object { va.. 2020. 6. 27.