일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 임베디드타입
- SpringBatch
- 프로젝트
- CPU스케줄링
- 산업은행청년인턴
- 트리셋
- 스케일아웃
- findById
- 파이널프로젝트
- 컴퓨터구조
- 트리맵
- 그래프탐색
- 2178
- 폰켓몬
- BFS
- CS
- 프로그래머스
- fatch
- flyway
- 백준
- 산업은행it
- springboot
- 해시
- Spring JPA
- 코테
- 구현
- 외래키제약조건위반
- JPA
- 운영체제
- DB replication
- Today
- Total
목록2024/03 (8)
나 JAVA 봐라
보통 input에는 공백(" ")으로 구분되어 입력이 들어오는데, 이번에는 공백 없이 들어옴. .split("")으로 처리하거나, charAt으로 끊어서 처리하는 방법이 있다. 경비원을 가장 적게 배치하려면, 경비원이 필요한 가로-세로가 겹쳐지는 부분에 경비원을 두면 된다. 따라서 경비원이 필요한 행, 열의 갯수를 구한다. 만약 경비원이 필요한 행,열이 모두 0이면? -> 추가로 필요한 경비원 없으니까 0 return 행, 열 중 하나라도 경비원이 필요하면? -> 행, 열 중 더 큰 수 return package yejin.song; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; imp..
알아야 할 내용들 알파벳은 26개 int와 char는 호환하여 계산할 수 있음. char는 '' 와 같이 따옴표 씌워야하고 char-char, char-int 같이 계산할 수 있음. 이 때 캐스팅 해주어야 함. (코드 참고 package yejin.song; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ_단어공부 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); St..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net package yejin.song; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class B..
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸www.acmicpc.net해당 문제에선 너무 많은 배열 변수들과 for문을 덮어써서 시간 초과날 줄 알았지만, 특별히 문제가 없었다. 내가 생각한 풀이 방법이다. 맵 정보를 입력받을 때, 집과 치킨집의 좌표 정보를 담은 배열을 저장한다.집( value = 1) : home.add치킨집(value = 2) : chicken.add모든 집-치킨집 사이의 거리를 구한다.2차원 배열 dist를 생성해서 dist[..

DFS / 백트래킹 이 두가지가 항상 함께 등장하는데, 어떤 차이가 있는지 몰라 정리해보았다. 쉽게 이야기 하자면 끝까지 가는지(DFS)/ 돌아오는지(백트래킹) 의 차이이다. 그래서, DFS 탐색하며 조건을 확인하며 해당 노드가 유망하지 않으면 탐색하지 않는 것 = 백트래킹 이다. 백트래킹도 일반적으로 재귀 형태로 작성되며 크게 3개의 내용을 작성한다. 재귀를 진행하는 동안 사용될 깊이(depth)를 매개변수로 넣기 재귀가 종료될 때 수행할 내용 재귀 종료조건 = 보통 정해진 depth에 도달했을 때 dfs 함수의 제일 앞에서 종료 조건에 포함되었는지 먼저 검사한다. 재귀가 진행 중이면 가지치기(백트래킹)할 내용 백트래킹으로 조합하는 함수를 구현하면 아래와 같다. public static void com..
크루장이 크루 신청을 승인 했을 때, 내가 쓴 게시글에 댓글이 달렸을 때,.. 등 사용자에게 알림이 가도록 하기 위해 알림 기능을 구현하려고 한다. 먼저 알림 기능을 위해 사용되는 방법 4가지를 간략하게 정리해보았다. 1. Polling 일정 주기로 서버 API 호출하는 방법 주기가 길다면? : 데이터의 실시간성을 보장할 수 없다. 주기가 짧다면? : 갱신된 내용 없어도 불필요한 요청이 자꾸 들어오기 때문에 불필요한 서버 부하가 발생한다. 2. Long Polling 업데이트 발생 시에만 응답을 보내는 방법. 서버에 요청 들어왔으면 일정 시간 대기하다가 업데이트 된 내용이 있을 경우 웹 브라우저에 응답을 보낸다. 불필요한 응답을 주는 경우를 줄일 수 있다. (장) 연결이 되어있는 경우 실시간으로 데이터가..
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 문제에 따르면, 서류/ 면접 등수가 하나라도 뒤쳐지면 탈락한다. 등수는 하나하나씩 직접 돌아가주면서 비교해줘야한다. 이 때, 등수를 정렬하지 않으면 서류/면접 등수 두 개 모두 비교해주어야하는 코드가 복잡해지므로 먼저 서류 등수를 기준으로 오름차순 정렬을 해야했다. Arraylist에 오름차순 기준으로 정렬할 수도 있지만, 서류 등수를 배열 인덱스로 하고 면접 등수를 값으로 ..
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 만약, 문제에서 '모든 로프를 사용해야한다.' 는 조건이 있었다면, 가장 약한 로프의 중량 * N 을 해서 쉽게 답을 구할 수 있을 것이다. 하지만 모든 로프를 사용하지 않아도 되기에, 모든 경우를 비교하여 문제를 풀었다. 1. 배열에 모든 로프(가 버틸 수 있는 중량) 를 담는다. 2. 배열을 오름차순으로 정렬한다. 3. 배열의 0 ~ N-1까지 반복하며 가장 큰 최대 중량을 구한다. ..