본문 바로가기

Java/알고리즘63

할인행사 ㅇ 문제 정리 1) 하루에 한개씩 살수있는 할인품목 discount 리스트중 연속되는 want.length만큼과 2) 사고자하는 want리스트의 각 품목별 number만큼이 같은 경우의수를 구하는 문제. ㅇ 나의 풀이법 내가 정리하면서 문제를 어떻게 풀려했는지를 알아보자. 1) discount를 연속해 10개씩 나누고 새로운 배열 darr에 넣는다.(10일 연속 일치할 경우라 그렇게 했다.) 2) 이걸 끝까지 반복한다. 3) darr에 want[j]가 몇갠지 세고 그게 number[j]와 같으면 cnt++ 3-1) 특정 배열에 특정 문자열이 몇갠지 세주는 count 메서드를 만들어줬다. 4) cnt와 want의 길이가 같으면 조건이 맞는 경우니 answer++ 1. 첫번째 풀이다. 내가 여기서 한시간을 .. 2023. 5. 26.
캐시 - LRU(Least Recently Used) 카카오 코테문제로 유명한 알고리즘이라고 한다. 먼저 문제부터 보자. LRU가 뭔지 몰라 벙쪄서 바로 블로깅 해봤다. https://dailylifeofdeveloper.tistory.com/355 LRU 알고리즘 (Least Recentely Used) 개념 및 구현방법 안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 페이지 교체 알고리즘 중에서 LRU에 대해서 공부해볼까요?! LRU 란? LRU(Least Recently Used)는 가장 오랫동안 참조되지 않은 페이지를 교체하는 방식입니 dailylifeofdeveloper.tistory.com https://fomaios.tistory.com/entry/Algorithm-LRULeast-Recently-Used-%EC%95%8C%EA%B3%A0%.. 2023. 5. 16.
올바른 괄호 예전에 한번 풀어본 문제였다. 근데 기억이나지않는다. 더군다나 스택/큐 문제인데, 스택/큐가 뭔지는 알지만 어떻게 활용했던건지, 이 문제에서 어떻게 사용해야할지 감이안와서 사용하지 않고 한번 풀어보았다. 조건문,반복문만 사용해서 풀어봤다. 1) 괄호 '(' 와 ')' 의 갯수가 일치하면 true 라는 조건 2) ')' 로 시작하거나 '(' 로 끝나면 무조건 false라는 조건을 넣어서 완성했다. 테스트를 돌려보니 스터디원들과 얘기를 나누고 지피티한테 물어본 결과 내코드는 좌우 개수는 세지만, 쌍이 안맞는 ()))))((((() 이런 경우에도 true를 반환하므로 안되던 것이었다. 팀원분이 푸신 코드는 이렇다. 입력받은 String s 를 한글자씩 char로 배열을 만들고, 향상된 for문을 이용해 '('.. 2023. 4. 20.
최댓값과 최솟값 아 쉽네~ 했다. 문자열을 split으로 나누고, 배열의 최댓값 최솟값을 return하면 되겠네 했는데 무슨일인지 class Solution { public String solution(String s) { String str[] = s.split(" "); Arrays.sort(str); String answer = str[0] + " " + str[str.length-1]; return answer; } } 이렇게 했는데, Arrays.sort(str); 여기서 오류가 발생했다. 혹시나 인텔리제이에서 해봤다. String a 를 예시처럼 "-1 -2 -3 -4"로 바꾸고 돌려보니, -1 -4 가 출력이됐다. 쉬바 다시풀어야지! 그냥 처음에 생각했던 for문을 돌려서 해보니 결국 풀리긴했는데...코드가.. 2023. 4. 18.