일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JPA
- 자료구조공부
- 스프링부트공부
- 기술공부
- 알고리즘공부
- 자바공부
- Flutter
- 코테공부
- nestjs스터디
- 프로그래머스
- 스프링공부
- 코테준비
- 카프카
- nestjs공부
- 플러터 개발
- DDD
- JPA공부
- JPA 공부
- 플러터 공부
- nestjs
- Kafka
- JPA스터디
- 스프링부트
- K8S
- 스프링 공부
- querydsl
- 기술면접공부
- 스프링
- JPA예제
- Axon framework
- Today
- Total
목록코테준비 (7)
DevBoi
링크드 리스트란, 객체 (흔히 노드라고 표현한다) 현재 자신의 데이터와 다음 노드를 가지고 있는 리스트이다. 처음에 시작점을 알아야 쭉 탐색이 가능하며, 중간에 수정이 들어갈때 불편하고, 탐색을 하려면 처음 head로 시작해서 재귀로, 탐색을 이어 나가야 한다. 쉽게 구현해보면 아래와 같다. 이렇게 재귀를 통해서, 해당 노드에 대한 탐색을 할수있다. 노드는 이렇게 제네릭 타입으로 선언해서, 사용할수 있다. 그러면, 추가와 전체 노드 프린트하는 함수도 구해보자 전체적인 구조를 바꿔야 한다. 전체 링크드 리스트라는 구조 속에 노드들을 넣어야 하기 때문에, class 안에 class를 넣어야 한다. 우선 add함수를 구현해봤다. 제네릭 타입으로 변경했기 때문에, 해당 제네릭 타입으로 add를 했을 경우를 가정..
배열, 단순하게는 인덱스로 관리를 하고, 처음에 크기를 설정한다. 배열 관련 알고리즘문제는 너무도 많이 나오기 때문에, 자세한 설명은 생략 1.Arrays 관련 기능 - Arrays.toString(배열); -> 배열의 값을 String으로 출력해준다. - arr1[1].indexOf("hi") -> hi or hi 말고 알파벳 하나일 경우, 해당 문자가 포함된 인덱스를 return 해준다. ex. arr1[1] ="abcd" 1)arr1[1].indexOf("b") -> return 1 알파벳이 없다면, -1을 반환한다. 따라서, 해당 내 문자열 포함 여부는, if(arr1[1].indexOf("g") >= 0) 이런식으로 검사를 한다. - Arrays.sort, (Collections.reverseO..
그리디 알고리즘, 흔히 말해 탐욕기법이다. 우선 해당 알고리즘의 동작 형태 및 구현 방법에 대해서 익혀보자 그리디 탐욕기법은, 경우의 수가 존재할 경우, 매순간 최선의 경우를 선택하는 알고리즘이다. 현재 상황에서 가장 좋다고 생각되는 것을 선택해 나가는 것이기 떄문에, 항상 가장 좋은 결과를 만드는 것은 아니다. 그럼, 그냥 문제를 바로 풀어보자 * 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) w..
그리드 함수를 쓰는 체육복 문제이다. 난이도는 1이며, 푸는건 10분 정도 걸렸다. 우선 전체 탐색은 기본이고, 한번빌려줬으면, 해당 사람은 못빌려주니까, 다음 검색 조건에서 -음수대로 만들어야 한다. 그리고, 본인이 잊어버리고 여분이 있을수있으니, 우선 이 케이스는 먼저 음수처리를 하고, 전체 탐색을 진행 한다 일케하면, 빌려줌을 못받는 애들만 lost에서양수인채로 남아져있고, 나머지는 -99가 된다. 혹시 0의 인덱스에 걸려있을수도있으니 -1은 위험하다고 생각해서 -99로했다. 무튼 이렇게 되면 통과
1. 선택정렬 전체 탐색으로 해서, 조건에 맞는 값을 찾으면, temp라는 변수를 사용해서, 2개를 swap 해가면서 탐색 및 정렬해가는 것이다. 쉽게, 간단한 배열을 선택 정렬로 구현한 예제이다. 2. 삽입 정렬 배열이나, 리스트의 끝원소부터, 차례로 작거나 큰값을 비교해 가면서 swap하는 방식 선택 정렬과 비슷하나, 점차 레인지를 줄여나가면서 하나씩 차례로 한다는 점에서 다르다. 3.퀵 정렬 기준 데이터를 설정하고, 기준보다 큰 데이터, 작은데이터의 위치를 바꾸는 것 가장 기본적인 퀵정렬은 첫번째 데이터를 기준 데이터 로 설정한다. (Pivot) * pivot 값을 기준으로,-> 방향으로 탐색 해서, 큰값 와 탐색은 4,
그리디는, 가장 최적의 해를 찾는 알고리즘이다. 우선 가장 쉬운 예제로 한번 테스트해보자 특정 금액 1260 원을 받았을때, 동전 거스름돈의 최소 개수를 구하는 로직이다. 그리드 관련 알고리즘은, 가장 큰 범위의 탐색 및 로직을 먹이는 것이다. 그다음 그리드 문제 처음에, %4가 0 일떄를 체크해서, 가장 나누기를 우선적으로 수행하면 된다. 해당 완전탐색으로, 풀어버리면된다. 저런문제가 나오면 완전탐색을 하라고 하는거니까.. 그냥 완전 탐색하면된다. import java.util.*; import java.lang.*; class main2 { public static void main(String[] args) { //스캐너 Scanner sc = new Scanner(System.in); //시간 입..
programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코테 공부를 시작할겸, 데일리로 꾸준히 하고자, 이렇게 글을 남긴다. 나도 나중에 기억하기 좋고, 이렇게 글을 남기면서 한번더 리마인드를 하면... 공부가 더 잘되기 때문에.... 1. 사용언어 : 자바 2. 문제 : 폰캣몬 3. 풀이 : 1회차 풀이 : for 문과, 배열 index를 사용하여 문제로 주어진 폰캣몬 종류 수 저장, 해당 Collection을 사용하여 reverseOrder진행, 초기 0으로 fill했기 때문에 해당 0일때 break 걸음 4. 코드 : 5. ..