www.acmicpc.net/problem/11663이분탐색으로 푸는 문제이다.먼저, 점들을 오름차순으로 정렬한다.그 후, 선분마다 포함되어있는 점이 몇 개 인지 구한다.점이 몇 개 인지 구하는 방법은 다음과 같다.먼저, 처음에 선분에 포함된 점의 개수(sum)의 초기
www.acmicpc.net/problem/1062백트래킹을 이용해 김지민 선생님께서 가르치시는 글자 집합들의 경우의 수를 다 구한 다음에 가장 많은 단어를 알 수 있는 경우를 구하면 된다.K개의 글자를 모으면 단어들을 검사한다. 모든 단어의 개수에서 K개의 글자 말고
문제https://www.acmicpc.net/problem/11508풀이이 문제는 최소 비용을 구하는 문제이다.한 번에 3개씩 살 수 있고 이 3개 중에 하나를 뺄 수 있을 때, 최소 비용을 구하기 위해서는 뺄 수 있는 값 중에 가장 큰 값을 빼는 것이 유리
https://www.acmicpc.net/problem/15810이분탐색을 이용해서 최소 시간을 찾는다.left값과 right 값이 있고 중간 값을 mid라고 할 때,시간이 mid 값일 때 풍선을 몇 개 만들 수 있는지를 구한다.만들 수 있는 풍선의 개수가
문제 https://www.acmicpc.net/problem/2138 풀이 그리디 알고리즘을 이용하는 문제이다. 코드 느낀점
https://www.acmicpc.net/problem/4179BFS를 이용한 문제이다.지훈이의 움직임 좌표에 대한 Queue(personQ)와 불에 대한 Queue(fireQ)를 만들어서 BFS로 풀면 된다.1분 동안 불이 퍼진 모습을 코드로 표현한다.fi
https://www.acmicpc.net/problem/15724DP를 이용해 푸는 문제이다.DP를 수행할 2차원 배열을 만들었다.이 2차원 배열은 DPi가 있으면, (i, 0)부터 (i, j)까지의 값의 합으로 지정하였다.그 뒤 범위 값(x1, y1, x2
https://www.acmicpc.net/problem/16234BFS를 이용해 푸는 문제이다.NxN의 땅을 탐색을 하면서 인구 이동이 일어날만한 땅의 위치(좌표)가 있으면 해당 위치에서 BFS를 이용해 연합을 이룬다.탐색이 다 끝나도 새로 인구수가 업데이트
https://www.acmicpc.net/problem/16932BFS를 이용해 풀었다.먼저, 배열에서 서로 인접하여 모양을 만드는 것들을 그룹화하였다.1 1 0 01 0 1 01 0 1 00 1 1 01 0 0 1위와 같은 배열을2 2 0 02 0 3 02
https://www.acmicpc.net/problem/2470투포인터를 이용하였다.용액들의 특성값들을 오름차순으로 정렬한다.그 후 최소값과 최대값을 합해 sum을 구하는데,이 sum이 0보다 작을 경우 최소값의 index(left)를 +1하고,0보다 클 경
https://www.acmicpc.net/problem/1633DFS와 DP를 사용하였다.DFS를 이용해 각각 i번째 사람이선택을 받지 않을 경우백팀이 될 경우청팀이 될 경우로 나누어서 합을 구한다.dpib : i번째 index에서 백팀이 w명, 청팀이 b명
https://www.acmicpc.net/problem/2011DP를 이용해 풀었다.dpi = 0번째부터 i번째 글자까지의 암호의 해석의 수 라고 했을 때,i번째 글자가 1부터 9까지인 경우에 dpi = dpi+dpi-1이 가능하다.또한, i-1번째 글자와
https://www.acmicpc.net/problem/2631DP를 이용하여 풀었다.DP 중에서도 가장 긴 오름차순 길이를 응용하였다.예를 들어서 예제에서 다음과 같이 배열되어있을 때3 7 5 2 6 1 4다음 배열에서 가장 긴 오름차순의 길이는 3이다.그
https://www.acmicpc.net/problem/13913BFS를 이용해 풀었다.현재 숫자를 X라고 할 때 Queue에 X-1, X+1, 2\*X를 넣고 X=K인 경우에 print해준다.이 때, 경로도 같이 출력해야 하기 때문에 prev 배열을 이용해
https://www.acmicpc.net/problem/17179이분 탐색을 이용해 풀었다.롤케이크를 잘랐을때 가장 작은 길이의 최댓값을 기준으로 삼았다.left와 right를 적절히 조절해가면서 mid(롤케이크를 잘랐을때 가장 작은 길이)를 기준으로,mid
https://www.acmicpc.net/problem/16953BFS를 이용해 풀었다.현재 값을 X라고 한다면, X == B 인지 검사한다.만약 X == B일 경우 그대로 연산 횟수를 리턴하고,X != B일 경우 2X 값과 10X+1 값을 Queue에 넣고