JXNVCE ALGO-LOG YouJin Jung

GFG MAXIMUM PATH SUM IN TRIANGLE

#include<bits/stdc++.h>

using namespace std;

#define N 3
 
int maxPathSum(int tri[][N], int m, int n) {
     for (int i=m-1; i>=0; i--) {
        for (int j=0; j<=i; j++) {
            if (tri[i+1][j] > tri[i+1][j+1])
                tri[i][j] += tri[i+1][j];
            else
                tri[i][j] += tri[i+1][j+1];
        }
     }

     return tri[0][0];
}
 
int main() {
   int tri[N][N] = {  {2, 0, 0},
                      {4, 9, 0},
                      {1, 5, 3} };
   cout << maxPathSum(tri, 2, 2);
   return 0;
}

Gfg Average Of Streams


layout: post title: GFG AVERAGE OF STREAMS —

 #include <iostream>
 
using namespace std;
 
float getAvg(float prev_avg, int x, int n) {
    return (prev_avg * n + x) / (n + 1);
}
 
void streamAvg(float arr[], int n) {
    float avg = 0;
    for (int i = 0; i < n; i++) {
        avg = getAvg(avg, arr[i], i);
        cout <<"Average of " <<i+1 << " numbers is " << avg << endl;
    }
    return;
}

int main() {
    float arr[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90 };
    int n = sizeof(arr) / sizeof(arr[0]);
    streamAvg(arr, n);
    return 0;
}

GFG TURN OFF BIT

#include <iostream>

using namespace std;

int turnOffK(int n, int k) {
    if (k <= 0) return n;
    return (n & ~(1 << (k - 1)));
}

int main() {
    int n = 15;
    int k = 4;
    cout << turnOffK(n, k);
    return 0;
}

GFG SHUFFLE ARRAY

#include<bits/stdc++.h>
#include <stdlib.h>
#include <time.h>

using namespace std;
 
void swap (int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

void printArray (int arr[], int n) {
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    cout << "\n";
}

void randomize (int arr[], int n) {
    srand (time(NULL));
    for (int i = n - 1; i > 0; i--) {
        int j = rand() % (i + 1);
        swap(&arr[i], &arr[j]);
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
    int n = sizeof(arr) / sizeof(arr[0]);
    randomize (arr, n);
    printArray(arr, n);
    return 0;
}

GFG ABSOLUTE VALUE

abs 함수 없이 비트 성질로 절대값 취하기!

#include <bits/stdc++.h>
using namespace std;
#define CHARBIT 8
 
unsigned int getAbs(int n) {
    int const mask = n >> (sizeof(int) * CHARBIT - 1);
    return ((n + mask) ^ mask);
}

int main() {
    int n = -6;
    cout << "Absolute value of " << n << " is " << getAbs(n);
    return 0;
}