전체 글

문제 Gold5 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (1 ≤ Si < Ti ≤ 109) www.acmicpc.net 풀이 우선순위 큐(PriorityQueue) 활용 우선순위 큐란? 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 그 우선순위가 높은 엘리먼트가 먼저 나가는 자료구조 문제에서는 강의가 가장 일찍 끝나는 강의실이 우선순위로 배정되어야 함(PriorityQueue Default) 강의의 start와 end를 int[]로 입력받아 저장.끝나는 시간을 기준으로 오름차 순 정렬.첫 번째 원소의 endTime을 큐에 먼..
문제 SWEA(SW Expert Academy) 3234번 준환이의 양팔저울 [D4] 풀이 양팔저울에 올리는 순서 정하기 => 순열 어느쪽에 올릴지 정하기 => 부분집합 무게를 입력받아 우선 올려놓을 순서를 정함. sorted배열에 실행완료 된 순열을 저장하며, 순열이 완성되었을 경우(cnt==N) 어느쪽에 올릴지 정함. 현재 추를 오른쪽에 올리는 경우, 왼쪽에 올리는 경우를 각각 실행. 실행도중 left
문제 SWEA(SW Expert Academy) 1223번 계산기2 [D4] 풀이 스택을 이용하여 후위표기식을 작성/계산하는 문제 후위표기식 변환 만약 숫자일 경우, 바로 출력(여기에는 후위표기식 문자열carr에 저장)하고 연산자일 경우, 우선순위에 따라 스택에 pop/push. 스택에서 자신보다 낮은 우선순위 연산자가 나올 때까지 계속 pop하여 출력한다. 즉, 자신보다 높거나 같은 우선순위 연산자를 모두 pop 현재 문제에서는 +, *밖에 없으므로 +는 스택에 있는 모든 연산자를 출력하고, *는 peek()값이 *일 때 출력한다. 우선순위에 따른 연산자 출력 후, 자기 자신을 push 후위표기식 계산 문자열배열(carr)을 순회하며 숫자일 경우 stack에(이전과 다른 스택 사용) push하고 연산자..
문제 https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 풀이 알고리즘: 백트래킹, DFS 0행에서는 아무곳에서나 출발 할 수 있으므로 R길이만큼 돌며 깊이우선탐색 알고리즘을 실행한다. 탐색의 기저조건은 현재 Column이 마지막 Column일때. 그 외에는 삼방탐색을 하여 갈 곳을 정한다. 이 때, 지나온 곳은 'O'로 표시하여 다시 지나갈 수 없게 한다. 하나의 파이프라인이 만들어졌을 때(기저조건) 해당 칸에서 다시 탐색이 이루어지지 않도록 Flag를 사용한다..
문제 SWEA(SW Expert Academy) 4012번- [모의 SW 역량테스트]요리사 백준 14889번-스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 풀이 A, B요리 각각 재료를 반씩 나눠가지기 때문에 A요리 재료를 선택한 후 남은 재료를 B요리에 사용 -> 조합 A요리에 선택된 재료의 정보는 isSelected 배열에 해당 인덱스를 true로 바꿔줌으로써 저장 조합 알고리즘에 기저조건을 재료가 N/2개 선택되었을 때로 정함 기저조건 달성 시..
문제 Silver 1 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 풀이 압축이 되지 않으면 4구역으로 나누어서 연산을 진행해야 하는 분할정복 알고리즘 문제 함수 내에서 구역을 나눌 필요 없이 압축이 되는지부터 확인(canZip) 압축이 가능하다면 (=범위내에 모든 수가 같다면) 해당 수를 StringBuilder변수에 저장 압축이 불가능하다면, size와 현재 시작위치(ci, cj)를 기준으로 4구역으로 나눈 후 재귀 호출 코드..
점이
DOTELOPER