본문 바로가기
반응형

Kotlin33

LeetCode - Reverse Integer 문제 링크 : https://leetcode.com/problems/reverse-integer/ 난이도 : Easy 문제 풀이 : 주어진 숫자를 거꾸로 뒤집는 문제이다. 10으로 나눈 나머지를 계속하여 자릿수를 만들면서 더해주면 뒤집을 수 있다. 다만 주의할 점은 32-bit signed integer를 사용한다는 부분이다. 이 Integer의 범위를 넘어간 값은 0을 반환해야 한다. 그래서 결과값이 이 범위를 넘어가는지 안넘어가는지 체크하기 위해 Long 자료형을 사용해야 한다. 소스 코드 : class ReverseInteger { fun reverse(x: Int): Int { var answer: Long = 0 var num = x while(num != 0) { answer = answer .. 2020. 6. 27.
LeetCode - Two Sum 문제 링크 : https://leetcode.com/problems/two-sum/ 난이도 : Easy 문제 풀이 : nums 배열에서 target을 만들 수 있는 두 개의 숫자 조합을 찾아 인덱스를 IntArray로 반환하는 문제이다. 두 숫자를 각각 A, B라 하고 두 숫자를 합쳤을 때 나오는 값을 C라고 하자. 그럼 A+B=C 이다. A를 선택했을 때, C를 만들 수 있는 숫자 B는 C-A로 구할 수 있다. 그렇다면, A를 선택했을 때 나머지 숫자들 중 B가 존재하는지 여부를 알고 그 B의 위치를 알면 답을 구할 수 있다. 두 개의 for-loop을 사용하여 풀 수 있지만, 시간복잡도를 낮추기 위해 HashMap 자료구조를 사용한다. HashMap의 Key에 숫자를, Value에 그 숫자의 위치를 .. 2020. 6. 27.
코틀린(Kotlin) 문법 뽀개기 - 3. 함수 코틀린으로 함수를 작성 해 보자. 기본적인 개념과 작성방법에 대해 간단하게 설명한다. 함수는 사실 굉장히 익숙한 단어다. (수학..) 쉽게 얘기하자면 f(x) = ax+b 와 같은 것이다. 프로그래밍에서 함수도 크게 차이가 없다. 그리고 이 포스팅을 하면서 이미 함수는 사용되고 있었다. Hello Kotlin을 찍었던 코드를 다시 보자. fun main() { println("Hello Kotlin!") } fun은 function(함수)를 의미하고, main은 그 함수의 이름이다. 그리고 main뒤의 ()는 매개변수가 들어갈 자리인데, 여기선 없다. 그리고 println("Hello Kotlin!")이 함수의 내용이고 결과물이 된다. 그리고 println도 사실 함수다. 좀 더 이해하기 쉬운 직관적인 .. 2020. 6. 14.
코틀린(Kotlin) 문법 뽀개기 - 2. 기본 문법(변수, 제어문, 반복문) 코틀린의 변수, 제어문, 반복문을 알아보자. 다른 프로그래밍 언어를 해 보았다면 큰 문제없이 이해가 될 것이다. 1. 변수 선언 // 변수 선언 var intVar: Int = 3 val intVal: Int = 3 intVar = 4 // var은 변경 가능 intVal = 4 // val은 변경 불가능, 컴파일 에러가 발생한다. 우선 변수 선언은 var과 val이 있다. var은 변경 가능한 변수다. 위의 코드에서 intVar = 4는 정상 동작한다. val은 변경 불가능한 변수다. 그래서 intVal = 4는 IDE에서 빨간 줄을 그어 줄 것이며, 컴파일 에러가 발생한다. var 변수명: 변수타입 = 값 val 변수명: 변수타입 = 값 과 같이 선언한다. // val stringVar1: Strin.. 2020. 6. 9.