전체 글

나는 밤하늘의 디벨로퍼
카테고리 없음

[삼성SDS] 24년 하반기 대학생 알고리즘 특강(Day2) : 알고리즘 기초(정렬, 투포인터, 시간복잡도)

정렬정렬을 통해 유일성 검사 및 중복 제거가 가능하다.정렬된 데이터를 한번씩만 확인하면 각 숫자의 빈도 수를 확인할 수 있다. 정렬 방법1. Arrays.sort() - 오름차순int[] arr = {5, 3, 2, 8, 1};Arrays.sort(arr);System.out.println(Arrays.toString(arr)); // [1, 2, 3, 5, 8] - 내림차순Arrays.sort(arr, Comparator.reverseOrder());System.out.println(Arrays.toString(arr)); // [8, 5, 3, 2, 1]  2. 사용자 정의 정렬 (Comparator)Integer[] arr = {5, 3, 2, 8, 1};Arrays.sort(arr, new Com..

코딩테스트/백준

[코테] 백준 2003번 : 수들의 합 2 (java)

https://www.acmicpc.net/problem/2003 알고리즘 분류 : 브루트포스 알고리즘, 누적합, 투포인터❓문제🔅해석두 수의 합이 특정 값이 되는 경우를 찾는 문제로 투포인터를 이용한다.입력받은 숫자를 배열에 넣고 low pointer와 high pointer로 합을 구한다.  //입력10 51 2 3 4 2 5 3 1 1 2 1) 초기화 및 sum 두개의 포인터 모두 0번째 인덱스부터 출발하고 sum은 0번째 인덱스 값으로 초기화해준다.sum이 특정 값(M) 5보다 작으므로 high pointer를 +1 해준다. 그리고 sum에 증가된 high 번째의 값을 더한다.   2) sum == M sum == M 이 될 때, cnt++ 해주고 low 또는 high을 +1 해준다. 그리고 su..

코딩테스트/백준

[코테] 백준 1713번 : 후보 추천하기 (java)

https://www.acmicpc.net/problem/1713알고리즘 분류 : 구현, 시뮬레이션❓문제🔅해석학생 객체에 학생 번호, 추천 수, 타임스탬프를 저장하여 조건에 맞게 정렬을 한다. Student[] students = new Student[101]; //학생 번호는 1부터 100까지의 자연수이다.학생 객체를 담는 배열을 만들어 학생 번호와 배열 인덱스를 맞춰 저장한다.예를 들어, 2번 학생이 추천을 받았을 때 배열 2번째에 학생 객체가 존재한다면 이미 추천받아 저장되어 있다는 것이다.이 때는 해당 객체의 추천수를 증가시킨다. List photos = new ArrayList(); // 사진틀의 개수 N를 저장한다.배열이 비어있다면 사진틀 리스트에 추가해준다.이 때 사진 틀이 꽉 찼을 때, ..

developer of the night sky
susukkang.LOG