본문 바로가기

반응형

코딩 이야기/백준 풀이

(51)
백준 23858번: 중앙값 제거 C++코드(수학, 구현) //23758 #include #include #include using namespace std; int arr[2000002]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; for(int i=0; i> arr[i]; } sort(arr, arr+n); int result = 0; for(int i=0; i
백준 25206번: 너의 평점은 C++코드(구현,수학) #include using namespace std; int main(){ string temp1; float temp2; string temp3; float result = 0; float result2 = 0; for(int i = 0; i> temp1 >> temp2 >> temp3; if(temp3 != "P"){ result2 += temp2; } if(temp3 == "A+"){ result += temp2 * 4.5; }else if(temp3 == "A0"){ result += temp2 * 4.0; }else if(temp3 == "B+"){ result += temp2 * 3.5; }else if(temp3 == "B0"){ result += temp2 * 3.0; }else if(te..
백준 1068번: 트리 C++코드(트리, BFS) #include #include using namespace std; int parents[51]; int n; int d; int bfs(){ queue qq; int state = 0; int cnt = 0; for(int i=0; i n; for(int i=0; i> parents[i]; } cin >> d; cout
백준 16562번: 친구비 C++코드(Union Find, 유니온 파인드, 분리 집합) #include using namespace std; int friendCost[10001]; int friendCostMin[10001] = {0,}; int parents[10001]; int find(int n){ if(parents[n-1] == n){ return n; }else{ int temp = find(parents[n-1]); return temp; } } void Union(int a, int b){ a = find(a); b = find(b); if(a < b){ parents[b-1] = a; }else{ parents[a-1] = b; } } void Union2(int n){ int now = n; n = find(n); parents[now-1] = n; } int main(..
백준 11660번: 구간 합 구하기5 C++코드(누적합, PrefixSum) //11660 #include using namespace std; int numbers[1025][1025]; void prefixSum(int n){ for(int i=1; i n >> m; for(int i=1; i numbers[i][j]; } } prefixSum(n); for(int i=0; i> x1 >> y1 >> x2 >> y2; cout
백준 10158번: 개미 C++코드(애드 혹, Ad hoc) //10158 #include using namespace std; int main(){ int w,h,x,y,t; cin >> w >> h >> x >> y >> t; int xt = t; int yt = t; int resultX, resultY; if(xt - (w-x) < 0){ resultX = x + xt; }else{ xt -= w-x; if((xt/w)%2==0){ resultX = w-(xt%w); }else{ resultX = xt%w; } } if(yt - (h-y) < 0){ resultY = y + yt; }else{ yt -= h-y; if((yt/h)%2==0){ resultY = h-(yt%h); }else{ resultY = yt%h; } } cout
백준 7576번: 토마토 C++ 코드(BFS) //7576 #include #include using namespace std; int tomatoMap[1005][1005]; int m,n; int cnt = 0; struct xyLocation{ int y; int x; }; void bfs(int i[1000005], int j[1000005]){ queue qq; xyLocation temp; for(int k=0; k
백준 1049번: 기타줄 C++코드(그리디 알고리즘, Greedy) #include using namespace std; int main(){ int n,m; int packageArray[51]; int singleArray[51]; int result = 0; cin >> n >> m; int packageMin = 100000000; int singleMin = 100000000; for(int i=0; i> packageArray[i] >> singleArray[i]; if(packageArray[i] < packageMin){ packageMin = packageArray[i]; } if(singleArray[i] < singleMin){ singleMin = singleArray[i]; } } while(1){ if(n = 6){ if(packageMin < ..

반응형