Til 9

99클럽 코테 스터디 40일차 TIL Optimal Partition of String

https://leetcode.com/problems/optimal-partition-of-string/description/ 비트연산자map     1. 문제 및 접근   2405. Optimal Partition of String 주어진 s의 서브 스트링을 구성하는데, 중복된 char가 없게 만들어야 한다최소의 subString 갯수를 반환"abacaba" 라면 "ab" "ac" ,"aba"로 나눴다면  aba에서 a가 2개라 안됨s = abacaba 라면 앞에서부터 시작해서 있는 수 중 같은 수가 들어오면 그전까지 담기 ?각 substring은 중복되도 되는 듯 하다   Constraints:1 s consists of only English lowercase letters.       2. 풀이 ..

알고리즘 2024.06.28

99클럽 코테 스터디 39일차 TIL Reduce Array Size to The Half

https://leetcode.com/problems/reduce-array-size-to-the-half/    그리디map.merge      1. 문제 및 접근  1338. Reduce Array Size to The Half 배열이 주어지면 배열 안에 있는 수 중 하나를 골라 그 수를 다 없앨 수 있다.그럴 때 반 이상 줄일 수 있는 최소의 수의 최소 갯수 반환 arr = [3,3,3,3,5,5,5,2,2,7]map으로 찾고, 그 수를 돌면서 반 이상되면 바로 리턴 ? 3 =4 5=3 2=2 7=1키 값은 상관 없음 번호로 부여하고, 몇개인지가 중요   Constraints:2 arr.length is even.1      2.  풀이 public int minSetSize(int[] arr) {..

알고리즘 2024.06.27

99클럽 코테 스터디 38일차 TIL Seat Reservation Manager feat.Heap

https://leetcode.com/problems/seat-reservation-manager/   heap    1.  문제 및 접근    1845. Seat Reservation Manager 3개의 메서드1. SeatManager(int n)의 자리 초기화2. reserve 예약하면 작은 수부터 예약하고, 작은 수 반환3. unreserve 들어온 자석 번호 취소 void O(n)으로 푸니 마지막에 시간초과 걸림  Constraints:1 1 For each call to reserve, it is guaranteed that there will be at least one unreserved seat.For each call to unreserve, it is guaranteed that se..

알고리즘 2024.06.26

99클럽 코테 스터디 37일차 TIL Minimum Add to Make Parentheses Valid

https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/description/ stack  1.  문제 및 접근    921. Minimum Add to Make Parentheses Valid 가능한 괄호는 아예 비었거나 짝이 맞으면 됨 "())"  스택에 넣는데, 닫는 게 나오면 pop해주고, 남은 것들의 갯수를 세어주면 끝 ?  )로 시작할 수도 있다. (로만 시작한단 말이 없음 )면 지운다는 개념으로 다가가면 안될듯 그러면 각각 카운트 세주고 차이 만큼 반환? 안됨 "()))((" 면 값은 맞는데 여는 게 2개 닫는게 2개 필요하기 떄문에 안되네  Constraints:1 s[i] is either '(' or ')'.       ..

카테고리 없음 2024.06.25

99클럽 코테 스터디 36일차 TIL Removing Stars From a String

https://leetcode.com/problems/removing-stars-from-a-string/submissions/1298687817/   1. 문제 및 접근    2390. Removing Stars From a StringString이 주어지면 그 안에 있는 *가 들어온 만큼 왼쪽 char를 지우기순서가 중요하다 * 나오면 바로 왼쪽 꺼 지워주기전부 다 유효하다. Input: s = "leet**cod*e"Output: "lecoe" 왼쪽이니까 stack에 넣으면서 *이 나오면 다음 인덱스로 가면 될 듯   Note:The input will be generated such that the operation is always possible.It can be shown that the r..

알고리즘 2024.06.24

99클럽 코테 스터디 34일차 TIL Find the Winner of the Circular Game

https://leetcode.com/problems/find-the-winner-of-the-circular-game/submissions/1296968550/    deque요세푸스josephus     1.  문제 및 접근    1823. Find the Winner of the Circular Game n명이 게임을 하는데, 1부터 n명까지 시계방향으로 돌아가고k가 주어지면 1번부터 시작해k번 떨어진 수의 사람을 돌며 탈락시킴원형이라 반복하며 마지막에 남은 친구가 승리하고 그 친구 반환deque로 구현하면 쉬울 것 같다. 1,2,3,4,5 k =2  [1,3,4,5] -2, [1,3,5] -4, [3,5] -3 [5] winner 5  Constraints:1    2. 풀이  public int..

알고리즘 2024.06.23

99클럽 코테 스터디 33일차 TIL Reordered Power of 2

https://leetcode.com/problems/reordered-power-of-2/submissions/1295772306/   setpowerOf2거듭제곱비트쉬프트연산자   1. 문제 및 접근    869. Reordered Power of 2   integer 타입의 숫자가 하나 주어지면 String으로 생각해서단어들을 재배열 하는데 ex) 12 = '1' '2' 12, 21이 2의 거듭제곱인지 판별해서 반환10^9까지 들어옴 10억기본적으로 312이 주어지면 ? 123, 132, 213, 231, 312, 321 다봐야한다그러면 들어오는 숫자는 10억이지만 숫자는 10개 0이 먼저할 수 없는 위치에 따라987,654,321이라면 9! = 최대 362,880개를 하나씩 다 2의 거듭제곱이 맞..

알고리즘 2024.06.22

99클럽 코테 스터디 32일차 TIL Top K Frequent Elements feat. CountingSort

https://leetcode.com/problems/top-k-frequent-elements/description/   priorityQueuemapmap.mergecounting sort    1.  문제 및 접근   347. Top K Frequent Elementsmap으로 관리31일차 문제와 너무 유사priorityQueue로 우선순위를 빈도의 내림차순으로 주고 K개만큼 뽑기++counting sort 방식 추가 문제가 이해하기 힘들어서 내 영어 실력의 문제인가 했지만, 댓글들을 보니 전세계인들이 화나있다불친절한 리트코드..   Constraints:1 -10^4 k is in the range [1, the number of unique elements in the array].It is g..

알고리즘 2024.06.20

99클럽 코테 스터디 31일차 TIL Sort Characters By Frequency feat. Comparator vs Comparable

https://leetcode.com/problems/sort-characters-by-frequency/submissions/1293844763/  getOrDefualtpriorityQueuemaxHeapmapEntry   1.  문제 및 접근   주어진 s를 나타나는 빈도수에 대해 내림차순으로 반환같은 수의 빈도라면 위치 상관 x , 붙어있어야 함 최대 50만 들어오고, 소문자 대문자 둘다 들어옴 문자를 돌면서 숫자를 세기 ? 그 후 객체로 비교 해서 정렬compatormap에 저장하고, 그 빈도수로 찾으면 더 편할듯 ?map에 키로 그 char 넣고, value로 빈도를 넣음밸류 값으로 내림순 정렬 후 그 키 그대로 반환 map.entry와 우선순위 큐 둘다 써 봐야겠다..  Constraints..

알고리즘 2024.06.20