profile
라라랜드

[c++] 백준 10830, 행렬 제곱

백준 10830알고리즘 분류 : divide and conquer (분할 정복)크기가 N\*N인 행렬 A가 주어졌을 때, A의 B제곱을 구하는 문제다.B가 1이 될 때까지, 2로 반복해서 나누어 행렬 ans를 구한다.B%2=1인 경우, solve(ans,A)B%2=0인

2022년 3월 23일
·
0개의 댓글

[c++] 백준 1655, 가운데를 말해요

백준 1655알고리즘 분류 : priority queue (우선순위 큐)정수를 하나씩 입력받을 때마다, 그때의 중간값을 각각 출력하는 문제다. (만약 입력받은 수의 개수가 짝수개라면, 중간에 있는 두 수 중에서 작은 수를 출력한다.)두 개의 우선순위 큐를 이용하여 문제

2022년 3월 21일
·
0개의 댓글

[c++] 백준 1992, 쿼드트리

백준 1992알고리즘 분류 : divide and conquer (분할 정복)쿼드트리의 방법을 이용하여 4개의 영역을 압축한 결과를, 차례대로 괄호 안에 묶어서 표현하는 문제다. 재귀를 통해 해결한다.살펴보는 영역 안에 check와 다른 문자가 존재하는 경우, 다음과

2022년 3월 20일
·
0개의 댓글

[c++] 백준 11286, 절댓값 힙

백준 11286 알고리즘 분류 : priority queue (우선순위 큐) 입력받은 정수(0이 아닌)의 절댓값을 오름차순 정렬하고, 0을 입력받을 때마다 절댓값이 가장 작은 값을 출력하면 되는 문제다. (절댓값이 가장 작은 값이 여러 개일 때는, 가장 작은 수를

2022년 3월 18일
·
0개의 댓글

[c++] 백준 1541, 잃어버린 괄호

백준 1541알고리즘 분류 : greedy algorithm (그리디 알고리즘)괄호가 없는 수식에 괄호를 적절히 쳐, 수식의 값을 최소로 만드는 문제다.이 문제를 해결하기 위해서는, 어떤 경우에 값이 최소가 되는지에 대한 파악이 필요하다. 55-50+40 -> 55-(

2022년 3월 17일
·
0개의 댓글

[c++] 백준 1912, 연속합

백준 1912알고리즘 분류 : dynamic programming (동적 계획법)정수로 이루어진 임의의 수열에서 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중, 가장 큰 합을 구하는 문제다. 먼저, 입력받은 수열을 저장하는 배열 arr과 각 위치에서의 최대 합을

2022년 3월 12일
·
0개의 댓글

[c++] 백준 11054, 가장 긴 바이토닉 부분 수열

백준 11054 알고리즘 분류 : dynamic programming (동적 계획법) 백준 11053번, LIS(Longest Increasing Subsequence)를 구하는 문제의 응용이다. 11053번과의 차이점은 LIS를 구하는 과정을, 두 번 거쳐야 한다

2022년 3월 10일
·
0개의 댓글

시작

시작

2022년 3월 10일
·
0개의 댓글