2024/08 5

[leetcode] 1657. Determine if Two Strings Are Close

문제 1. 문제 해석두 string이 close한지 판단하는 문제 close 한 기준은 두 개의 operation을 시도했을 때 부합했을 경우이다.Operation 1: 두 개의 요소의 위치를 바꾸었을 때For example, abcde -> aecdbOperation 2: Operation1을 기반으로 한 글자의 위치에 다른 글자로 모두 대체하고 반대로도 시행했을 경우For example, aacabb -> bbcbaa (all a's turn into b's, and all b's turn into a's)부합할 경우 true, 아닐 경우 false 2. 문제 풀이 방향주어진 두 개의 string의 character와 character's occurence를 조사한다. 조사한 두 string의 cha..

코딩테스트 2024.08.24

[leetcode] 80. Remove Duplicates from Sorted Array II

문제/**오름차순으로 정렬된 배열이 주어지고 다른 배열을 생성하지 않은 채 배열 내 중복값 일부를 삭제하는 문제인데,적어도 두 개 이상 존재하는 요소를 삭제하는 문제입니다.어떤 언어에서는 배열의 크기를 줄이는게 불가능하기 때문에 만약 중복값을 제거한 후 k개의 요소가 있다면 앞쪽 k개의 배열 요소만 체크합니다.그렇기 때문에 k개 이후부터는 뭐가 있든 상관없음1, 1, 1, 2, 2, 31이 3개이기 때문에 하나를 삭제2는 2개이므로 그대로3은 1개이므로 2개보다 작아서 그대로1, 1, 2, 2, 30, 0, 1, 1, 1, 1, 2, 3, 30이 2개이므로 그대로1은 4개이므로 2개 삭제2는 1개로 2개보다 작아서 그대로3은 2개이므로 그대로0, 0, 1, 1, 2, 3, 3 -> 7개이전값을 고려하되 ..

코딩테스트 2024.08.03

[leetcode] 26. Remove Duplicates from Sorted Array

문제 class Solution { public int removeDuplicates(int[] nums) { int index = 0; for(int num: nums) { if (index nums[index - 1]) { nums[index] = num; index++; } } return index; }}  Set, List 써서 푸는 풀이/** Set으로 nums를 하나씩 체크 이후 nums에 앞에서부터 Set에 있는 elements를 하나씩 넣어주기 다만 Set의 경우 입력한 순서를 보장하고 있지 않기 때문에 List로 정렬..

코딩테스트 2024.08.03

[leetcode] 14. Longest Common Prefix

문제 1. 첫번째 스트링을 prefix 기준으로 세움2. 스트링 배열 내 요소들과 비교3. 스트링 배열 크기가 1일 경우 첫번째 스트링 바로 리턴4. 스트링 배열 내 요소 중 크기가 prefix의 크기보다 작을 경우 prefix의 크기를 substring class Solution { public String longestCommonPrefix(String[] strs) { String prefix = strs[0]; if (strs.length == 1) { return prefix; } for(int i = 1; i str.length()) { prefix = prefix.substring(0, s..

코딩테스트 2024.08.01