분류 전체보기86 [알고리즘] Sliding window 배열에서 특정 구간을 설정하고 구간별 데이터를 비교해야할때 사용하기 용이한 알고리즘 ex) 매출기록이 배열로 주어질때 변수 k일간의 최대매출기록을 구하라 // n일간 매출기록 // k = k일간의 연속매출 // arr = 매출 array // k일간의 최대매출기록은? public static int solution(int n, int k, int[] arr) { int answer = 0; // 최대 매출기록으로 갱신될 변수 int sum = 0; for(int i=0; i 2022. 6. 1. [알고리즘] two pointers 요소가 동일하지 않은 배열의 공통요소를 찾을때 사용하기 유용한 알고리즘 예제) 두 배열의 공통원소를 구하시오. public static void solution(int n, int[] arr, int m, int[] arr2) { // n = arr 배열의 길이 // arr = 대상배열 // m = arr2 배열의 길이 // arr2 = 대상배열 List list = new ArrayList(); Arrays.sort(arr); Arrays.sort(arr2); int p1 = 0, p2 = 0; // 두개의 포인터 생성 while(p1 < n && p2 < m) { // 두 배열의 끝까지 수행 if(arr[p1] == arr2[p2]) { // 공통원소가 발견되면 list.add(arr[p1]); //.. 2022. 6. 1. [JAVA] 캡슐화 객체 지향언어의 특징인 캡슐화를 고려한 로직을 작성하면 기능수정이 발생할때 사이드이펙트를 최소화 하며 로직수정의 유연함을 보유할 수 있다. 이는 다양한 이점을 가진다. 한 번에 캡슐화잘된 코드를 작성하기란 불가능 하겠지만 요소들을 잘 기억하여 다시 살펴볼때 수정할수 있도록 공부하자! 개인적인 학습의 정리글입니다. 먼저 캡슐화의 특성을 보면 1. 데이터 + 관련 기능을 하나의 클래스에 담기 - 관련있는 데이터와 기능을 하나의 클래스에 필드, 메서드로 작성한다. 2. 객체가 기능을 어떻게 구현했는지 외부로부터 감추기 - 기능을 객체의 메소드안에 작성하여 메소드 호출로서 기능을 사용할 수 있도록 한다. 3. 정보은닉 - 위의 특성과 비슷하며 객체에 대한 구체적인 정보를 노출시키지 않도록 한다. 다음은 캡슐화를.. 2022. 5. 26. [MYBATIS] 복수의 파라미터 전달하기 vo, dto, Map, List 등 복수의 파라미터를 넘기는 방법이 있지만 직접 복수개의 파라미터를 전달하는 방법을 정리합니다. 1. Mapper 인터페이스 import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface FileMapper { int deleteFile(@Param("fileId") Long fileId, @Param("userId") String userId); } @Param("파라미터명") 어노테이션을 파라미터 앞에 추가합니다. 파라미터명은 XML파일에 명시할 텍스트로 추가합니다. 2. Mapper XML파일 /** deleteFile */ .. 2022. 5. 18. 이전 1 ··· 7 8 9 10 11 12 13 ··· 22 다음