본문 바로가기
  • Code Smell

Language25

[Java] MS949(CP949)와 EUC-KR은 다르다 MS949(CP949)와 EUC-KR은 다르다 요새 대부분 UTF-8을 사용해서 MS949, EUC-KR 등을 잘 사용하지 않는다. (ASCII, ISO-8859-1 등) 하지만 레거시에서는 EUC-KR을 사용하는 경우가 꽤 있는데, 이번에 레거시에서 작업하면서 발생한 문제가 있었다. 레거시 DB는 인코딩을 us7ascii 을 사용하고 있었고, 웹은 EUC-KR로 뿌리고 있었고, 그 중간과정을 MS949로 인코딩해서 던져주었다가, EUC-KR로 변경했는데 표시못하는 한글이 발생하기 시작했다. 가만히 있는 MS949를 왜 EUC-KR로 바꾸었냐면.. 둘이 같은 줄 알았다. EUC-KR과 MS949이 같다고 표현하는 예전?블로그들이 꽤 많았고, 구글링 해가며 개발을 하다보니 그런 지식이 자연스럽게 정립되었는.. 2023. 9. 27.
[LeetCode] 2. Add Two Numbers Add Two Number 문제 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation.. 2021. 8. 26.
[Java] OpenJDK 벤더 별 지원 현황 (2021-06) OpenJDK 벤더 별 지원 현황 OpenJDK 가 벤더사 별로 여러가지 배포판이 존재하는데 차이점이 궁금해서 정리했습니다. 어디 간략하게 표로 정리한 곳을 못찾고 있었는데, stackoverflow에서 찾을 수 있었습니다. java - Difference between OpenJDK and Adoptium/AdoptOpenJDK - Stack Overflow Difference between OpenJDK and Adoptium/AdoptOpenJDK Due to recent Oracle Java SE Support Roadmap policy update (end of $free release updates from Oracle after March 2019 in particular), I've bee.. 2021. 6. 25.
[Programmers] 전화번호 목록 (Java) 문제 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 입출력 예제 ["119.. 2021. 5. 14.
[Codility] CyclicRotation (Java) 문제 An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is moved to the first place). The goal is to rotate array A K times; that is, each eleme.. 2021. 3. 24.
[Programmers] 체육복 (Java) 문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성.. 2021. 3. 23.
[Codility] BinaryGap (Java) 문제 A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary gaps: one of length 4 and one of length 3. The number 20 has binar.. 2021. 3. 23.
[LeetCode] Climbing Stairs 문제 (memoization) Climbing Stairs 문제 (memoization) 문제 링크 : https://leetcode.com/problems/climbing-stairs/ 문제의 풀이 방법은 전형적인 피보나치 수열의 합 문제였는데, 이상하게 피보나치 풀이법인 recursive 방법으로 풀면 Time Limit Exceeded 실패가 발생했다. 실행 때 마다 시간이 좀 다르니 혹시 운이 없어서 그런가 했는데, 3번을 돌려도 똑같이 실패했다. 그래서 멤버변수로 Map을 하나 만들고, 이미 지나온 값은 메모리에 들고 있는 방식(memoization)으로 문제를 풀었다. 예를들어 피보나치 수열은 아래랑 같은 공식이 성립하는데 f(n) = f(n-1) + f(n-2) f(5) = f(4) + f(3) 과 같고 f(4) = f(.. 2021. 2. 10.
[JAVA] LocalDate, LocalTime, LocalDateTime 정리 LocalDate, LocalTime, LocalDateTime 정리 JodaTime이 Java의 기본으로 통합되며 생긴 날짜/시간 Object, Java8 부터 사용 가능하다. LocalDate : 년,월,일 정보 LocalTime : 시,분,(초),(나노초) 정보 LocalDateTime : 년,월,일,시,분,(초),(나노초) 정보 초와 나노초는 항상 생략 가능하다. 현재시간 구하기 LocalDateTime localDateTime = LocalDateTime.now(); LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); 3종세트 toString LocalDate : yyyy-MM-dd LocalTime : HH.. 2020. 11. 13.