일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 이분탐색 #dp #11053
- 레드아보
- graph #최단경로
- 3D #Reconstruction #computer #vision #volume #metric #tsdf #kinect #fusion
- N번째큰수
- 최소 #공배수 #최대 #공약수 #유클리드 #호제법 #lcm #gcd #c++ #boj #3343 #백준 #장미
- 30870
- 코딩
- C++
- LIS #가장긴증가하는부분수열 #
- 호반우 상인
- 20117
- 3343
- c++ #boj #
- backtracking #codetree #디버깅 #삼성코테
- 줄어드는수
- 투포인터 #백준 #boj #20922 #22862
- 1174
- 백준 #다익스트라 #dijkstra #9370 #c++
- c++ #입출력 #속도 #ios #sync_with_stdio #cin #cout #tie
- 백준
- graph
- BOJ
- 16202
- hcpc
- 22869
- 사이클 없는 그래프
- 진법변환 #2to10 #10to2 #이진법 #십진법 #변환 #bitset #c++
- boj #백준
- 쌤쌤쌤
- Today
- Total
목록알고리즘 연습 (105)
hyunjin
[BOJ 2751] #include using namespace std; int main(){ int n,*arr; scanf("%d",&n); arr = new int [n]; for(int i=0;i>a>>b; v.push_back(make_pair(a,b)); } stable_sort(v.begin(),v.end(),compare); //sort와 다르게 구조체처럼 여러 값들이 묶여 있을 때 하나의 요소로 정렬 했을 때 // 다른 요소들의 정렬 순서도 정렬 전과 같이 그대로 유지될 수 있게 해줌 for(auto e : v) cout
백준 2xn 타일링(11726) 백준 2xn 타일링2(11727) 1. 풀이 11726 N 번째 타일 배치는 1. N-1 번째에 2x1 타일을 붙이는 방법 (세로 타일 | 붙이기) 2. N-2 번째에 1x2 타일 2개를 붙이는 방법 (가로 타일 = 붙이기) 을 통해 만들 수 있다. 11726 점화식 D[n] = D[n-1] + D[n-2] 11727의 점화식도 11726과 크게 다르지 않다, 1. N-1 번째에 2x1 타일을 붙이는 방법 (세로 타일 | 붙이기) 2. N-2 번째에 1x2 타일 2개를 붙이는 방법 (가로 타일 = 붙이기) 3. N-2 번째에 2x2 타일 1개를 붙이는 방법 11727 점화식 D[n] = D[n-1] + D[n-2]*2 2. 코드 11726번 //https://www.acm..
백준 1463번 1로 만들기 1. 문제 설명 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. 1. X가 3으로 나누어 떨어지면, 3으로 나눈다. 2. X가 2로 나누어 떨어지면, 2로 나눈다. 3. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 합니다. 연산을 사용하는 횟수의 최소값을 출력 2. 풀이 횟수를 최소로 하는 경우의 수 1. 3으로 나누어 떨어진다. 2. 짝수지만 1을 빼면 3으로 나누어 떨어진다(x가 2보다 클 때 3번보다 우선 순위 높음 - 경우 따지는 2보다 클때라는 것 상관 없음) 2-2 짝수지만 2를 빼면 3으로 나누어 떨어진다(x가 8보다 클 때 3번보다 우선순위 높음...) 3. 2로 나누어 떨어진다. 4. 1을 뺀다(홀..

백준 회의실 배정 바로가기 어렵지 않았다. [풀이 전략] 회의 시작, 끝 시간을 pair로 묶어 vector에 넣자 1. 시작 시간 순서 기준 정렬 이렇게 하면 가장 많은 개수를 찾기가 조금 어렵다. 2. 끝 시간 순서 기준 정렬 끝 시간 기준 정렬 후 범위 내에 있는 것 선택하면 되니까 이건 가능하겠다. [소스 코드] #include using namespace std; bool compare(pair a,pair b){ if(a.second == b.second) return a.first >N; for(int i=0;i>start>>e..

백준 동전0 바로가기 [소스 코드] #include using namespace std; int main(){ stack s; int N,K,result=0; int tmp; cin>>N>>K; for(int i = 0 ; i >tmp; s.push(tmp); } tmp=K; while(K > 0){ if(s.top() > K) { s.pop(); continue; } result = result + K/s.top(); K = K%s.top(); s.pop(); } coutn>>k; int coin_type[n]; int i =n-1; for(;i>=0;i--)cin>>coin_type[i]; i=0; while(k){ ans+=(k/coin_type[i]); k%=coin_..

백준/그리디/ATM 바로가기 [문제 설명] 단순 누적 문제다. [소스 코드] #include using namespace std; int main(){ int n,res=0,tmp; vector wt; cin>>n; for(int i = 0 ; i >tmp; wt.push_back(tmp); } sort(wt.begin(),wt.end()); tmp = 0; for(int elem : wt){ tmp += elem; res += tmp; } cout
백준/그리디/설탕배달(2839) 바로가기 [첫 번째 풀이] C 옛날에 풀었었다. 바로가기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int sugar; int count = 0, temp, flag=0; scanf("%d", &sugar); temp = sugar; while ((temp % 5) != 0) { temp -= 3; if (temp < 0) { flag = -1; break; } count++; } if (flag == -1) count = -1; else count += temp / 5; printf("%d", count); return 0; } [두 번째 풀이] C++ #include using namespace std; in..
[1093] vector 사용 #include using namespace std; int main(){ int cnt,num; vector snum(23); cin>>cnt; for(int i = 0 ; i >num; snum[num-1]++; } for(int elem : snum) coutnum; snum.push(num); } while(!snum.empty()){ cout>num; if(num n; for(int i = 0 ; i >x>>y; b[x-1][y-1] = 1 ; } for(int j = 0 ; j < 19 ;j++){ for(int i = 0 ; i < 19 ; i++) cout