본문 바로가기
반응형

전체 글91

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.
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.
코틀린(Kotlin) 문법 뽀개기 - 1. Hello Kotlin! 코틀린으로 안드로이드 개발을 한지도 꽤 지났다. 어느정도 익숙하긴 하지만.. 코틀린 자체의 문법을 공부 할 필요성을 조금 느꼈다. 얼마 전 코틀린으로 코딩 테스트에 참가했는데, 파이썬으로 하는 것이 익숙하기도 하고 안드로이드 스튜디오 위에서만 코틀린을 사용하다 보니 순탄하지 않았다. 이런 이유도 그렇고 코틀린 자체의 문법도 모르는 부분이 많아서 정리하려고 한다. 역시 프로그래밍 언어 공부의 시작은 Hello World부터 찍는것이지. 1. IDE 설치 https://www.jetbrains.com/idea/download/#section=windows Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains Download.. 2020. 6. 9.