반응형 전체 글88 [LeetCode] 234. Palindrome Linked List - kotlin /** * Example: * var li = ListNode(5) * var v = li.`val` * Definition for singly-linked list. * class ListNode(var `val`: Int) { * var next: ListNode? = null * } */class Solution { fun isPalindrome(head: ListNode?): Boolean { if (head?.next == null) return true var prev: ListNode? = null var slow = head var fast = head while (fast != null && fast.next !=.. 2025. 3. 2. [LeetCode] 125. Valid Palindrome - kotlin class Solution { fun isChar(c:Char):Boolean { return c.isLetter() || c.isDigit() } fun isPalindrome(s1: String): Boolean { var s = 0 var e = s1.length - 1 var str = s1.lowercase() while(se) return true s++ } while(!isChar(str[e])) { if(e-1 2025. 3. 2. [LeetCode] 191. Number of 1 Bits - Kotlin class Solution { fun hammingWeight(n: Int): Int { var count = 0 var num = n repeat(32) { count += num and 1 num = num shr 1 } return count }} hammingWeight 함수는 정수 n의 이진 표현에서 1이 몇 개 있는지(비트가 1인 개수)를 세는 역할을 합니다. 코드에서 num and 1을 통해 가장 오른쪽(LSB: Least Significant Bit) 비트가 1인지 0인지를 판단하고, 이후에 shr(오른쪽 시프트) 으로 num을 한 비트씩 오른쪽으로 밀어내면서 다음 비트를 검사.. 2025. 3. 2. [LeetCode] 190. Reverse Bits - Kotlin class Solution { fun reverseBits(n: Int): Int { var res = 0 var num = n for (i in 0 until 32) { res = res shl 1 // 1. res를 왼쪽으로 1비트 이동 res += num and 1 // 2. num의 최하위 비트를 res에 추가 num = num shr 1 // 3. num을 오른쪽으로 1비트 이동 } return res }} 주요 비트 연산shl (Shift Left):비트를 왼쪽으로 이동. 오른쪽은 0으로 채워짐.예: 0010 shl 1 → 01.. 2025. 3. 2. 이전 1 2 3 4 5 ··· 22 다음 반응형