본문 바로가기

[SW Expert Academy] 1209. Sum [SW Expert Academy] 1209. Sum 문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh&categoryId=AV13_BWKACUCFAYh&categoryType=CODE 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/SW_Expert_Academy_1209/SW_Expert_Academy_1209.cpp 12345678910111213141516171819202122232425262728293031323334353637383940414243..
[SW Expert Academy] 1208. Flatten [SW Expert Academy] 1208. Flatten 문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh 나의 풀이 1. 빌딩 배열에서 최고점과 최저점을 찾아 최고점에서 1을 감소시키고 최저점에서 1을 증가시킨다. 2. 반환 조건 : 1) 주어진 덤프 횟수이내에 평탄화가 완료되었을 때 : 최고점과 최저점의 차가 0이나 1일 때 2) 덤프 횟수만큼 평탄화 진행을 마쳤을 때 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/SW_Expert_Academy_1..
[SW Expert Academy] 1206. View [SW Expert Academy] 1206. View 문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE 나의 풀이 1. 빌딩의 조망권을 위해서 고려해야 할 이웃 빌딩은 빌딩의 2칸 왼쪽부터 2칸 오른쪽까지이다. 2. 현재 빌딩에서 조망권을 갖는 층 수는 현재 빌딩의 높이에서 조망권 확보를 위한 이웃 빌딩의 최고 높이를 뺀 값이다. 3. 조망권 확보를 위한 이웃 빌딩이 현재 빌딩의 높이보다 높을 경우, 조망권 확보가 불가능하다. 위 사항들을 고려하여 순차적으로 코딩하였다! 나의 코드 G..
[S/W Expert Academy] 1204. 최빈수 구하기 [S/W Expert Academy] 1204. 최빈수 구하기 문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh 나의 풀이 1. 입력되는 과목의 점수와 일치하는 idx의 배열 값을 증가시킨다. 2. 초기 정답을 0점이 나오는 횟수로 저장해 놓은 후, 1점부터 100점까지 탐색하며 점수의 빈출 횟수가 같거나 더 클 때, 점수를 갱신한다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/SW_Expert_Academy_1204/SW_Expert_Academy_1..
[C/C++] BOJ 14002 :: 가장 긴 증가하는 부분 수열 4 BOJ 14002 :: 가장 긴 증가하는 부분 수열 4 문제 링크 : https://www.acmicpc.net/problem/14002 나의 풀이 1. 현재 idx의 수가 부분 수열의 마지막 수가 될 때, 이전 수의 arr의 idx와 부분 수열의 길이를 저장하는 구조체 배열을 만든다. 2. 다이나믹 프로그래밍 방식으로 부분 수열을 구하면서 수열의 이전 값을 갖는 arr의 idx를 저장한다. 3. 가장 긴 증가하는 부분 수열의 마지막 값에서부터 이전 값을 차례대로 스택에 넣은 뒤, 스택에서 빼내면서 출력한다. 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_14002/BOJ_14002.c..
[C/C++] BOJ 12738 :: 가장 긴 증가하는 부분 수열 3 BOJ 12738 :: 가장 긴 증가하는 부분 수열 3 문제 링크 : https://www.acmicpc.net/problem/12738 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_12738/BOJ_12738.cpp 1234567891011121314151617181920212223242526272829// 백준알고리즘 12738번 :: 가장 긴 증가하는 부분 수열 3#include#includeusing namespace std; int N;long long ans = 1;long long num;long long lis[1000002]; int main(){ cin >> N; c..
[C/C++] BOJ 12015 :: 가장 긴 증가하는 부분 수열 2 BOJ 12015 :: 가장 긴 증가하는 부분 수열 2 문제 링크 : https://www.acmicpc.net/problem/12015 나의 코드 Github : https://github.com/j2wooooo/Daliy_Algorithms/blob/master/Daliy_Algorithms/BOJ_12015/BOJ_12015.cpp 1234567891011121314151617181920212223242526272829// 백준알고리즘 12015번 :: 가장 긴 증가하는 부분 수열 2#include#includeusing namespace std; int N;int ans = 1;int num;int lis[1000002]; int main(){ cin >> N; cin >> lis[ans]; fo..
[C/C++] 이분탐색으로 LIS 구하는 방법 [C/C++] 이분탐색으로 LIS 구하는 방법 혼자서 이분탐색으로 LIS를 구하는 알고리즘을 구현하다가 막혀서 검색을 하게 되었다. LIS를 이분탐색으로 구하는 방법 LIS배열의 마지막 원소와 비교하였을 때, 1. 증가하는 부분 수열일 경우, LIS 배열의 가장 끝에 추가한다. 2. 증가하는 부분 수열이 아닐 경우, LIS배열을 이분 탐색하여 들어갈 위치를 찾아 값을 대체한다. LIS 배열의 마지막 원소가 있는 인덱스가 가장 긴 부분 증가 수열의 길이가 된다. 이분탐색을 이용한 LIS 코드 구현 방법 직접 이분탐색을 구현하는 방법과 C++의 라이브러리 lower_bound()를 사용하는 방법이 있다. 1. C로 직접 이분 탐색하여 구현하는 방법 출처 : https://www.crocus.co.kr/583..