일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 메모이제이션
- DP
- SQL
- maximum flow
- INNER JOIN
- 프로그래머스
- Baekjoon
- 네트워크 플로우
- 백준
- 분할정복
- ICPC
- 삼성
- 코딩테스트
- SWEA
- BOJ
- JOIN
- 최대유량
- 이분탐색
- 빅스비 스튜디오
- Network Flow
- SDS 알고특강
- 최대 유량
- 완전탐색
- 알고리즘
- SWTest
- 후기
- 세그먼트트리
- bixby studio
- 빅스비
- backjoon
- Today
- Total
목록분류 전체보기 (90)
답은 알고리즘 뿐이야!
문제 출처 : https://www.acmicpc.net/problem/2365 2365번: 숫자판 만들기 입력의 첫째 줄에는 행(열)의 크기 N이 주어진다(1≤N≤50). 둘째 줄에는 N개의 정수가 주어진다. 주어지는 정수는 1행부터 N행까지의 합을 차례대로 나타낸다. 셋째 줄에는 N개의 정수가 주어진다 www.acmicpc.net 풀이 : 네트워크 플로우 최대 유량 문제입니다. 아래의 그림 처럼 행과 열을 각 각 묶어서 모델링 하여 1번행 3번열을 묶으면 (1,1), 1번행 4번열을 묶으면 (1,2) 이런식으로 표현 될 수 있도록 모델링 합니다. 그 후 문제 조건에 따라 최대 숫자의 값을 최소로 하는 형태를 찾아야합니다. 이는 모든 엣지의 Capacity에 대해 Limit을 1 ~ 1000까지 걸어 ..
문제 출처 : https://www.acmicpc.net/problem/1760 1760번: N-Rook 첫째 줄에 격자의 크기를 나타내는 두 자연수 N, M이 주어진다. 격자가 N행 M열로 이루어져 있다는 의미이다. (1 ≤ N, M ≤ 100) 둘째 줄부터는 격자의 모양을 나타내는 정보가 한 줄에 한 행씩 주어 www.acmicpc.net 풀이 : 네트워크 플로우 최대 유량 문제입니다. 0 : 빈 격자 1: 구덩이가 파인 격자 2: 벽이 놓인 격자 2020/09/03 - [알고리즘/백준문제풀이] - [BOJ 2414] 게시판 구멍 막기 [BOJ 2414] 게시판 구멍 막기 문제 출처 : https://www.acmicpc.net/problem/2414 2414번: 게시판 구멍 막기 첫째 줄에 N, M..
문제 출처 : https://www.acmicpc.net/problem/2414 2414번: 게시판 구멍 막기 첫째 줄에 N, M(1 ≤ N, M ≤ 50)이 주어진다. 다음 N개의 줄에는 M개의 문자로 게시판의 모양이 주어진다. 각각의 문자는 붙어 있으며, 구멍이 없는 부분은 '.', 구멍이 있는 부분은 '*'으로 주어진다. www.acmicpc.net 풀이 : 네트워크 플로우 최대 유량 문제입니다. 구멍이 없는 부분에는 테이프를 붙이면 안되므로 행과 열에 대해 구멍이 연속적으로 있는 부분을 묶어서 인덱스를 만들어 주시고 구멍이 있는 부분의 좌표(y,x)에 대해 행과 열의 인덱스를 Capacity가 1로 이어 주시면 됩니다.
문제 출처 : https://www.acmicpc.net/problem/5651 5651번: 완전 중요한 간선 입력은 여러개의 테스트케이스로 이뤄진다. 첫째 줄에는 테스트케이스의 수 K (1
문제 출처 : https://www.acmicpc.net/problem/10319 10319번: 좀비 아포칼립스 문제 때는 2020년, 당신과 그 일행은 좀비로 황폐화된 대도시의 어느 마을 안에 갇혔다. 당신들 또한 바이러스에 감염되었기 때문에 좀비가 되기 전에 빨리 병원을 찾아 치료해야 한다. 당신들은 www.acmicpc.net 풀이 : 네트워크 플로우 최대 유량 문제입니다. 소스와 싱크를 만들어 소스 -> 시작장소, 병원 -> 싱크로 연결해 줍시다. 각 엣지 별로 단위 시간에 통과할 수 있는 사람 수, 걸리는 시간에 대한 정보를 추가적으로 활용해야합니다. 저는 Flow에 대한 정보를 단위시간별로 쪼개서 단위 시간에 통과할 수 있는 사람 수와 현재 시각에 통과한 사람 수를 계산하여 경로를 탐색하였습니..
문제 출처 : https://www.acmicpc.net/problem/13505 문제 풀이 : Trie 문제입니다. 각 수를 비트로 쪼갠뒤 비트가 0인지 1인지에 대해 판단을 하여 높은 자리 수 부터 Trie를 구성하시면 됩니다. 아래는 예제 1번을 간략하게 Trie로 구성한 그림입니다. 위의 그림은 간략히 그린 것이고 실제로는 31자리 부터 시작해야 합니다. Trie를 구성했으면 이제 가장 큰 XOR 값을 구해야합니다. XOR값이 가장 크기 위해서는 이러한 생각을 할 수 있습니다. 어떠한 수에 대해 Trie 에서 제일 큰 자릿수 부터 반대 비트를 찾아 내려 간다면 그 수에 대해 가장 큰 XOR값을 가진 수를 찾을수 있다! 위의 그림에 색깔펜으로 그린 부분이 위의 로직을 1과 2에 대해 실행했을때의 결..
문제 출처 : https://www.acmicpc.net/problem/2449 문제 풀이 : DP 문제입니다. cache[L][R] : L번째 전구부터 R번째 전구까지 통일 시키는데 색을 바꾼 최소횟수 양쪽 구간의 색을 통일 시킬때 변수를 하나 두시고 양쪽 구간의 시작 색깔이 같다면 바꾸는 비용을 0으로, 다르다면 바꾸는 비용을 1로 계산하여 쌓아가시면 됩니다.
문제 출처 : https://www.acmicpc.net/problem/2342 문제 풀이 : DP문제입니다. cache[idx][l][r] : idx번째 지시사항이고 왼발이 l번째칸 오른발이 r번째 칸에 있을때의 사용된 최소힘 이라고 두고 cache를 쌓으시면 됩니다. 칸별로 이동시 드는 힘은 dir[5][5] 배열을 선언하여 편하게 처리하도록 합시다.
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/59041 ANIMAL_INS 테이블이 주어졌을 때, 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 이름 순으로 조회하는 SQL 문을 작성하는 문제입니다. SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME)>1 ORDER BY NAME ASC 이름과 이름이 나온 갯수를 GROUP BY 를 통해 NAME 기준으로 조회하되 이름이 나온 횟수가 1 이상인 데이터를 이름순으로 오름차순 정렬하여 조회하는 SQL문입니다. HAVING 절은 GROUP BY에 사용하는 IF문 같은 존재라고 생각하시면 됩니다.
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/59045 ANIMAL_INS 테이블과 ANIMAL_OUTS 테이블이 주어졌을 때, 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 ID순으로 조회하는 SQL문을 작성하는 문제입니다. SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NAME FROM ANIMAL_INS I JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.SEX_UPON_INTAKE LIKE "Intact%" AND (O.SEX_UPON_OUTCOME LIKE "Spayed%" OR O.SEX_UPON_..