Skip to content

Commit ae09f02

Browse files
committed
alg 3020
1 parent 9d73626 commit ae09f02

File tree

7 files changed

+112
-0
lines changed

7 files changed

+112
-0
lines changed

cpp/3020.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
#include <vector>
4+
using namespace std;
5+
int from_down[500001];
6+
int from_up[500001];
7+
vector<int> v;
8+
9+
int main() {
10+
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
11+
int num, height, val;
12+
cin >> num >> height;
13+
for (int i = 0; i < num; i++) {
14+
cin >> val;
15+
if (i % 2 == 0) from_down[val]++;
16+
else from_up[val]++;
17+
}
18+
for (int i = height-1; i >= 1; i--) {
19+
from_down[i] += from_down[i + 1]; //아래에서 부터 높이 i일때 부수는 장애물의 수
20+
from_up[i] += from_up[i + 1]; //위에서 부터 높이 i일때 부수는 장애물의 수
21+
}
22+
//밑에서부터 높이 i일때 부수는 장애물 수
23+
for (int i = 1; i <= height; i++)
24+
v.push_back(from_down[i] + from_up[height - i + 1]);
25+
sort(v.begin(),v.end());
26+
int dup = 1;
27+
int result = v[0];
28+
for (int i = 1; i < v.size(); i++) {
29+
if (v[i] == result) dup++;
30+
else break;
31+
}
32+
cout << result << " " << dup;
33+
system("pause");
34+
return 0;
35+
}

cpp/aeiou.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,17 @@ using namespace std;
88
vector<string> v = {"A","E","I","O","U"};
99
set<string> s;
1010

11+
// makeword를 통해 string을 만듬
12+
// A, E, I, O, U가 sol에서 작동하고, 재귀방식으로 진행됨
13+
// "사전에서" 첫번째 단어가 A, 마지막 단어가 UUUUU => set을 쓰면 자동 정렬
14+
// idx는 0부터 시작하지만, 사전에선 1번째부터이므로 ans = idx + 1
15+
1116
void makeword(string cur) {
1217
if(cur.size()>5) return;
1318
s.insert(cur);
1419
for(int i = 0; i < 5; i++) makeword(cur+v[i]);
1520
}
21+
1622
int solution(string word) {
1723
int answer = 0;
1824
for(int i = 0; i < 5; i++) makeword(v[i]);

cpp/book/2.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
#include <vector>
4+
using namespace std;
5+
int main(){
6+
int n,m,k;
7+
vector<int> v;
8+
cin >> n >> m >> k;
9+
for(int i=0;i<n;i++){
10+
int tmp;
11+
cin >> tmp;
12+
v.push_back(tmp);
13+
}
14+
sort(v.begin(), v.end(),greater<>()); // 6 5 4 4 2
15+
for(int i=0;i<v.size();i++){
16+
cout << v[i] << endl;
17+
}
18+
int m1 = v[0];
19+
int m2 = v[1];
20+
int sum = 0;
21+
for(int i=0,j=0;i<m;i++){
22+
if(j++ >= k){
23+
sum += m2;
24+
j = 0;
25+
continue;
26+
}
27+
sum += m1;
28+
}
29+
cout << sum;
30+
return 0;
31+
}

cpp/book/2.exe

112 KB
Binary file not shown.

cpp/book/3.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include <iostream>
2+
#include <vector>
3+
using namespace std;
4+
int main(){
5+
int n, m;
6+
cin >> n >> m;
7+
vector<int> v;
8+
9+
return 0;
10+
}

cpp/boxer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22
#include <vector>
33
#include <algorithm>
44
using namespace std;
5+
// 비교를 위한 Boxer의 구조체 생성
6+
57
typedef struct{
68
int idx;
79
int weight;
810
float winrate;
911
int heavywincount;
1012
} Boxer;
13+
1114
bool cmp(Boxer a, Boxer b){
1215
if(a.winrate > b.winrate) return true;
1316
if(a.winrate == b.winrate){

cpp/icecream.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <iostream>
2+
using namespace std;
3+
int graph[1001][1001];
4+
int n,m;
5+
bool dfs(int x, int y){
6+
if(x < 0 || x >= n || y < 0 || y >= n) return false;
7+
if(graph[x][y] == 0){
8+
graph[x][y] = 1;
9+
dfs(x-1,y);
10+
dfs(x,y-1);
11+
dfs(x+1,y);
12+
dfs(x,y+1);
13+
return true;
14+
}
15+
return false;
16+
}
17+
int main(){
18+
int res = 0;
19+
cin >> n >> m;
20+
for(int i=0;i<n;i++){
21+
for(int j=0;j<m;j++){
22+
if(dfs(i,j) == true) res++;
23+
}
24+
}
25+
cout << res;
26+
return 0;
27+
}

0 commit comments

Comments
 (0)