본문 바로가기
반응형

전체 글160

프로그래머스 - N으로 표현 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제 풀이 N으로 표현할 수 있는 경우는 N 한 가지이다. 이를 DP[0]이라고 하면 DP[0] = { N }이다. N 2개로 표현할 수 있는 경우는 NN, (N+N, N-N, N*N, N/N) 이며 이를 DP[1]이라 하면 DP[1] = { NN, N+N, N-N, N*N, N/N } 이다. N 3개로 표현할 수 있는 경우는 NNN, (NN+N, NN-N, NN*N, NN/N), {(N+N)+N), (N+N)-N, (N+N)*N, (N+N)/N}, ... 이다. 이를 DP[2]라 하면 DP[2]는 DP[1]와 DP[0]의 사.. 2022. 3. 2.
정렬의 종류 및 구현(C++) 선택 정렬 전체 배열을 순회하며 가장 작은 원소를 앞으로 보내는 방식 #include using namespace std; int main(){ int arr[10] = { 3, 5, 1, 2, 7, 6, 9, 8, 4, 10 }; for(int i=0; i 2022. 3. 1.
BOJ 2579 - 계단 오르기 / C++ 문제 링크 : https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 풀이 DP를 이용하여 푼다. 우선 1번 계단과 2번 계단의 최댓값은 모든 계단을 밟으면 되므로 그대로 초기화해준다. 3번 계단부터는 경우가 여러 개로 나뉘어진다. (1). 1번 계단 -> 3번 계단 (2). 2번 계단 -> 3번 계단 (1)번 경우에는 DP[1] + arr[3]이 될 것이고 (2)번 경우에는 arr[2] + arr[3]이 될 것이다. DP[2]에는 arr[1] + arr[2.. 2022. 2. 28.
BOJ 11723 - 집합 / C++ 문제 링크 : https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제 풀이 실제 set을 쓰면 시간 초과가 나기 때문에 모든 함수를 구현해준다. 배열을 사용하며 입출력 시간도 ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); 를 통해 빠르게 만들어주어야 통과할 수 있다. 소스 코드 구현 풀이 #include #include using namespace std; int arr[21] = { 0, }; voi.. 2022. 2. 27.
반응형