ALGORITHM 4

[알고리즘] JAVA 코테 정리 - 자료구조 편

급하게 정리해보자 기본이라도급하게 공부하면서 쓴거라 가독성 좋지 못함 주의,,, - import java.util.*; 문자열 정렬 - 로그파일 재정렬https://leetcode.com/problems/reorder-data-in-log-files/ 기억할 포인트- arrayList를 array로 반환할때 -> letterList.toArray(new String[0]); - 정렬할때 람다 (추가 로직이 필요해서) -> letterList.sort((o1, o2) -> { ; }); - Compare 로직 스플릿 하고int compare = split1[1].compareTo(split2[1]);여기서 같으면 0크면 1작으면 -1 그냥 return compare 하면 정렬이 되는데..

ALGORITHM 2025.06.26

[알고리즘] sliding window, two pointer (python)

투포인터, 슬라이딩 원도우를 혼용해서 쓰는데 알고리즘에서는 보통 투포인터로 사용하는 것 같다헷갈렸던 문법Copy codel = Counter(['a', 'b', 'c', 'a'])compare = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']missing = 4for component in compare: missing -= l[component] print(l) print(missing)counter에는 {‘a’: 2, ‘b’: 1, ‘c’: 1}가 들어있으니당연히 missing은 반복문이 끝난 후 0이 된다.Copy codefrom collections import Counterl = Counter(['a', 'b', 'c', 'a'])c..

ALGORITHM 2025.06.06

[알고리즘] Greedy (python)

그리디 알고리즘글로벌 최적을 찾기 위해 로컬 최적의 선택을 하는 휴리스틱 문제해결 알고리즘잘 작동하기 위해 2가지 조건이 있다탐욕선택 속성앞의 선택이 이후 선택에 영향을 주지 않는다최적 부분 구조첫줄에 적은것과 비슷한 의미. 로컬 최적이 글로벌 최적이 되는 경우이다.휴리스틱교수님이 휴리스틱에 대해 1시간 넘게 열정적으로 설명해 주셨던 기억이 난다.. 설명하며 되게 행복해 보이셨다합리적이고 체계적인 판단이 어려울 때, 필요 없을 때 빠르게 사용할 수 있는 간편추론의 방법알고리즘에서는 최적해가 될 가능성이 없는 답들을 탐색하지 않고 답의 후보개수를 줄이는 방법이라고 한다..가지치기 기법 (pruning)담금질 기법 (simulated annealing)유전 알고리즘 (genetic algorithm)대표적으..

ALGORITHM 2025.06.06