본문 바로가기

전체 글41

[Java] 83. Remove Duplicates from Sorted List 문제 설명 : Linked List에서 중복된 값을 제거하는 문제 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode current = head; while(current != null && current.next .. 2023. 6. 9.
[jQuery] 카드번호 마스킹하기 보통 카드번호를 입력할 때, 16자리 중 가운데 8자리는 마스킹처리를 하게된다. 때문에 보통은 4자리씩 4개의 입력창을 만들어 가운데 8자리를 입력할 때는 키보드 보안까지 적용해서 처리하는 경우들이 많은데, 회사에서 1개의 Input에 12자리를 입력하면서 가운데 8자리는 마스킹이 되도록 구현하는데, 머리를 뜯고 계시는 분이 있어 내가 한 번 만들어 보았다. 개인적으로 jQuery를 극혐하지만... 도저희 쌩 js로는 구현이 어려워보여서... (어차피 우리회사는 jQuery를 다들 사랑하시니...괜춘...) Card Number: submit을 누르면 tmp라는 div 에 origin value가 출력되도록 했다. 그런데 하나 문제가 되는게, 드래그 후 삭제를해도 한개의 글자만 지워진다... 그건 이제 .. 2023. 6. 9.
[Java] 70. Climbing Stairs 문제 설명 : 1칸 또는 2칸씩 계단을 오를 수 있는데, 계단 수가 주어지면 몇 번의 경우의 수로 계단을 오를 수 있는지 도출하는 문제 - 처음코드class Solution { public int climbStairs(int n) { int result = 0; int quotient = n/2; for(int i=0; i 2023. 6. 9.
[Java] 69. Sqrt(x) 문제 설명 : int 값이 하나 주어지고, 이 int 값의 제곱근(제곱근이 소수인 경우 소수점 이하는 버림)을 구하는 문제이다. class Solution { public int mySqrt(int x) { if(x == 0) return 0; long left = 0; long right = x; while(left x){ right = mid - 1; } } return (int)right; } } 해설 : - 이 문제도 unlike가 상당히 많은 문제인데, 역시나 조건이 명확치 않다. - 처음에는 완전탐색으로 해결하려했으나, 테스트 케이스 중 Integer 범위를 넘어가는 케이스가 있었고, Long type으로 변환했으나 runtime error가 발생하는 것으로 보아 애초에 완전탐색으로 풀지 못하.. 2023. 6. 9.
[Java] 67. Add Binary 문제 설명 : 문자열로 구성된 두 2진수를 2진법으로 계산하여 결과를 문자열로 출력하는 문제 class Solution { public String addBinary(String a, String b) { Stack stackA = new Stack(); Stack stackB = new Stack(); Stack stack = new Stack(); HashMap map = new HashMap(); StringBuffer buffer = new StringBuffer(""); for(int i=0; i 2023. 6. 8.
[Java] 66. Plus One 문제 설명 : - 1자리의 숫자들이 담겨있는 int array digits이 존재한다. 이 array에서 각 숫자들의 위치가 곧 자리수가 되어 10진수처럼 생각해보자. - 마지막 1의 자리 숫자에 1을 더한 결과가 되는 10진수를 다시 int array에 자리수에 맞춰 할당하여 return한다. class Solution { public int[] plusOne(int[] digits) { //digits의 숫자를 하나씩 뽑아 자리수에 배정하고, 마지막에 +1을 더한 값을 다시 배열로 할당 //digits의 각 자리 합이 int의 범위를 넘을 수 있음. StringBuffer buffer = new StringBuffer(""); boolean check = true; int[] dummy = new i.. 2023. 6. 8.