From 69f163c848badef0c4718df0a178f72bb7cab2fb Mon Sep 17 00:00:00 2001 From: Arwaz Khan <48387278+arwazkhan189@users.noreply.github.com> Date: Fri, 1 Oct 2021 22:55:31 +0530 Subject: [PATCH] added Hackerrank sql , c ,python --- HackerRank-C-main/1D Arrays in C.c | 18 ++ HackerRank-C-main/Array Reversal.c | 25 +++ HackerRank-C-main/Bitwise Operators.c | 33 +++ HackerRank-C-main/Boxes through a Tunnel.c | 40 ++++ HackerRank-C-main/Calculate the Nth term.c | 22 ++ .../Conditional Statements in C.c | 77 +++++++ HackerRank-C-main/Digit Frequency.c | 22 ++ HackerRank-C-main/Dynamic Array in C.c | 68 ++++++ HackerRank-C-main/For Loop in C.c | 19 ++ HackerRank-C-main/Functions in C.c | 16 ++ HackerRank-C-main/Playing With Characters.c | 19 ++ HackerRank-C-main/Pointers in C.c | 23 ++ .../Printing Pattern Using Loops.c | 23 ++ HackerRank-C-main/Printing Tokens.c | 20 ++ HackerRank-C-main/README.md | 32 +++ .../Small Triangles, Large Triangles.c | 49 +++++ HackerRank-C-main/Students Marks Sum.c | 42 ++++ .../Sum and Difference of Two Numbers.c | 16 ++ .../Sum of Digits of a Five Digit Number.c | 18 ++ HackerRank-C-main/Variadic functions in C.c | 205 ++++++++++++++++++ HackerRank-C-main/_Hello World!_ in C.c | 16 ++ HackerRank-Python-main/Alphabet Rangoli.py | 12 + .../Arithmetic Operators.py | 6 + HackerRank-Python-main/Calendar Module.py | 4 + HackerRank-Python-main/Capitalize!.py | 23 ++ HackerRank-Python-main/Designer Door Mat.py | 4 + HackerRank-Python-main/Find a String.py | 16 ++ .../Find the Runner-Up Score!.py | 9 + .../Finding the percentage.py | 9 + HackerRank-Python-main/Incorrect Regex.py | 7 + HackerRank-Python-main/Input().py | 7 + .../Integers Come In All Sizes.py | 6 + HackerRank-Python-main/List Comprehensions.py | 3 + HackerRank-Python-main/Lists.py | 11 + HackerRank-Python-main/Loops.py | 4 + HackerRank-Python-main/Mod Divmod.py | 6 + HackerRank-Python-main/Mutations.py | 8 + HackerRank-Python-main/Nested Lists.py | 6 + HackerRank-Python-main/Polar Coordinates.py | 3 + HackerRank-Python-main/Power - Mod Power.py | 6 + HackerRank-Python-main/Print Function.py | 4 + HackerRank-Python-main/Python If-Else.py | 20 ++ HackerRank-Python-main/Python_ Division.py | 5 + HackerRank-Python-main/README.md | 49 +++++ .../Say _Hello, World!_ With Python.py | 1 + .../Set .difference() Operation.py | 6 + .../Set .discard(), .remove() & .pop().py | 6 + .../Set .intersection() Operation.py | 6 + .../Set .union() Operation.py | 6 + HackerRank-Python-main/String Formatting.py | 8 + .../String Split and Join.py | 7 + HackerRank-Python-main/String Validators.py | 4 + HackerRank-Python-main/Text Alignment.py | 24 ++ HackerRank-Python-main/Text Wrap.py | 10 + HackerRank-Python-main/Triangle Quest.py | 2 + HackerRank-Python-main/Tuples.py | 3 + HackerRank-Python-main/What's Your Name_.py | 7 + HackerRank-Python-main/Write a function.py | 11 + HackerRank-Python-main/python.png | Bin 0 -> 6482 bytes HackerRank-Python-main/sWAP cASE.py | 13 ++ HackerRank-SQL-main/Employee Names.sql | 3 + HackerRank-SQL-main/Employee Salaries.sql | 4 + HackerRank-SQL-main/Higher Than 75 Marks.sql | 4 + .../Japanese Cities' Attributes.sql | 3 + .../Japanese Cities' Names.sql | 3 + HackerRank-SQL-main/README.md | 42 ++++ .../Revising the Select Query I.sql | 3 + .../Revising the Select Query II.sql | 3 + HackerRank-SQL-main/Select All.sql | 3 + HackerRank-SQL-main/Select By ID.sql | 3 + HackerRank-SQL-main/Tables/regexp_sql.png | Bin 0 -> 66597 bytes HackerRank-SQL-main/Type of Triangle.sql | 19 ++ .../Weather Observation Station 1.sql | 3 + .../Weather Observation Station 10.sql | 3 + .../Weather Observation Station 11.sql | 3 + .../Weather Observation Station 12.sql | 3 + .../Weather Observation Station 3.sql | 3 + .../Weather Observation Station 4.sql | 3 + .../Weather Observation Station 5.sql | 5 + .../Weather Observation Station 6.sql | 3 + .../Weather Observation Station 7.sql | 3 + .../Weather Observation Station 8.sql | 3 + .../Weather Observation Station 9.sql | 3 + 83 files changed, 1270 insertions(+) create mode 100644 HackerRank-C-main/1D Arrays in C.c create mode 100644 HackerRank-C-main/Array Reversal.c create mode 100644 HackerRank-C-main/Bitwise Operators.c create mode 100644 HackerRank-C-main/Boxes through a Tunnel.c create mode 100644 HackerRank-C-main/Calculate the Nth term.c create mode 100644 HackerRank-C-main/Conditional Statements in C.c create mode 100644 HackerRank-C-main/Digit Frequency.c create mode 100644 HackerRank-C-main/Dynamic Array in C.c create mode 100644 HackerRank-C-main/For Loop in C.c create mode 100644 HackerRank-C-main/Functions in C.c create mode 100644 HackerRank-C-main/Playing With Characters.c create mode 100644 HackerRank-C-main/Pointers in C.c create mode 100644 HackerRank-C-main/Printing Pattern Using Loops.c create mode 100644 HackerRank-C-main/Printing Tokens.c create mode 100644 HackerRank-C-main/README.md create mode 100644 HackerRank-C-main/Small Triangles, Large Triangles.c create mode 100644 HackerRank-C-main/Students Marks Sum.c create mode 100644 HackerRank-C-main/Sum and Difference of Two Numbers.c create mode 100644 HackerRank-C-main/Sum of Digits of a Five Digit Number.c create mode 100644 HackerRank-C-main/Variadic functions in C.c create mode 100644 HackerRank-C-main/_Hello World!_ in C.c create mode 100644 HackerRank-Python-main/Alphabet Rangoli.py create mode 100644 HackerRank-Python-main/Arithmetic Operators.py create mode 100644 HackerRank-Python-main/Calendar Module.py create mode 100644 HackerRank-Python-main/Capitalize!.py create mode 100644 HackerRank-Python-main/Designer Door Mat.py create mode 100644 HackerRank-Python-main/Find a String.py create mode 100644 HackerRank-Python-main/Find the Runner-Up Score!.py create mode 100644 HackerRank-Python-main/Finding the percentage.py create mode 100644 HackerRank-Python-main/Incorrect Regex.py create mode 100644 HackerRank-Python-main/Input().py create mode 100644 HackerRank-Python-main/Integers Come In All Sizes.py create mode 100644 HackerRank-Python-main/List Comprehensions.py create mode 100644 HackerRank-Python-main/Lists.py create mode 100644 HackerRank-Python-main/Loops.py create mode 100644 HackerRank-Python-main/Mod Divmod.py create mode 100644 HackerRank-Python-main/Mutations.py create mode 100644 HackerRank-Python-main/Nested Lists.py create mode 100644 HackerRank-Python-main/Polar Coordinates.py create mode 100644 HackerRank-Python-main/Power - Mod Power.py create mode 100644 HackerRank-Python-main/Print Function.py create mode 100644 HackerRank-Python-main/Python If-Else.py create mode 100644 HackerRank-Python-main/Python_ Division.py create mode 100644 HackerRank-Python-main/README.md create mode 100644 HackerRank-Python-main/Say _Hello, World!_ With Python.py create mode 100644 HackerRank-Python-main/Set .difference() Operation.py create mode 100644 HackerRank-Python-main/Set .discard(), .remove() & .pop().py create mode 100644 HackerRank-Python-main/Set .intersection() Operation.py create mode 100644 HackerRank-Python-main/Set .union() Operation.py create mode 100644 HackerRank-Python-main/String Formatting.py create mode 100644 HackerRank-Python-main/String Split and Join.py create mode 100644 HackerRank-Python-main/String Validators.py create mode 100644 HackerRank-Python-main/Text Alignment.py create mode 100644 HackerRank-Python-main/Text Wrap.py create mode 100644 HackerRank-Python-main/Triangle Quest.py create mode 100644 HackerRank-Python-main/Tuples.py create mode 100644 HackerRank-Python-main/What's Your Name_.py create mode 100644 HackerRank-Python-main/Write a function.py create mode 100644 HackerRank-Python-main/python.png create mode 100644 HackerRank-Python-main/sWAP cASE.py create mode 100644 HackerRank-SQL-main/Employee Names.sql create mode 100644 HackerRank-SQL-main/Employee Salaries.sql create mode 100644 HackerRank-SQL-main/Higher Than 75 Marks.sql create mode 100644 HackerRank-SQL-main/Japanese Cities' Attributes.sql create mode 100644 HackerRank-SQL-main/Japanese Cities' Names.sql create mode 100644 HackerRank-SQL-main/README.md create mode 100644 HackerRank-SQL-main/Revising the Select Query I.sql create mode 100644 HackerRank-SQL-main/Revising the Select Query II.sql create mode 100644 HackerRank-SQL-main/Select All.sql create mode 100644 HackerRank-SQL-main/Select By ID.sql create mode 100644 HackerRank-SQL-main/Tables/regexp_sql.png create mode 100644 HackerRank-SQL-main/Type of Triangle.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 1.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 10.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 11.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 12.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 3.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 4.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 5.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 6.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 7.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 8.sql create mode 100644 HackerRank-SQL-main/Weather Observation Station 9.sql diff --git a/HackerRank-C-main/1D Arrays in C.c b/HackerRank-C-main/1D Arrays in C.c new file mode 100644 index 00000000..4db5cbd8 --- /dev/null +++ b/HackerRank-C-main/1D Arrays in C.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include + +int main() { + + /* Enter your code here. Read input from STDIN. Print output to STDOUT */ + unsigned int n; + scanf("%u",&n); + unsigned int a[n],sum=0; + for (int i=0; i +#include + +int main() +{ + int num, *arr, i; + scanf("%d", &num); + arr = (int*) malloc(num * sizeof(int)); + for(i = 0; i < num; i++) { + scanf("%d", arr + i); + } + + + /* Write the logic to reverse the array. */ + int temp=0; + for(int i=0,j=num-1;i<=j;i++,j--){ + temp=arr[i]; + arr[i]=arr[j]; + arr[j]=temp; + } + + for(i = 0; i < num; i++) + printf("%d ", *(arr + i)); + return 0; +} diff --git a/HackerRank-C-main/Bitwise Operators.c b/HackerRank-C-main/Bitwise Operators.c new file mode 100644 index 00000000..9ac99ae0 --- /dev/null +++ b/HackerRank-C-main/Bitwise Operators.c @@ -0,0 +1,33 @@ +#include +#include +#include +#include +//Complete the following function. + + +void calculate_the_maximum(int n, int k) { + int AND=0,OR=0,XOR=0; + for (int i=1;i<=n;i++){ + for(int j=i+1;j<=n;j++){ + if (((i&j) > AND) && ((i&j) < k)) { + AND = i&j; + } + if (((i|j) > OR) && ((i|j) < k)) { + OR = i|j; + } + if (((i^j) > XOR) && ((i^j) < k)) { + XOR = i^j; + } + } + } + printf("%d\n%d\n%d\n",AND,OR,XOR); +} + +int main() { + int n, k; + + scanf("%d %d", &n, &k); + calculate_the_maximum(n, k); + + return 0; +} diff --git a/HackerRank-C-main/Boxes through a Tunnel.c b/HackerRank-C-main/Boxes through a Tunnel.c new file mode 100644 index 00000000..ddcde0bf --- /dev/null +++ b/HackerRank-C-main/Boxes through a Tunnel.c @@ -0,0 +1,40 @@ +#include +#include +#define MAX_HEIGHT 41 + +struct box +{ + /* Define three fields of type int: length, width and height*/ + int length, width, height; +}; + +typedef struct box box; + +int get_volume(box b) { + /*Return the volume of the box*/ + return (b.length)*(b.width)*(b.height); //volume=length*width*height +} + +int is_lower_than_max_height(box b) { + /* Return 1 if the box's height is lower than MAX_HEIGHT and 0 otherwise*/ + if (b.height +#include +#include +#include +//Complete the following function. + +int find_nth_term(int n, int a, int b, int c) { + //Write your code here. + if (n<=4) + return 6; + return find_nth_term(n-1,a-1,b-2,c-3); +} + +int main() { + int n, a, b, c; + + scanf("%d %d %d %d", &n, &a, &b, &c); + int ans = find_nth_term(n, a, b, c); + + printf("%d", ans); + return 0; +} diff --git a/HackerRank-C-main/Conditional Statements in C.c b/HackerRank-C-main/Conditional Statements in C.c new file mode 100644 index 00000000..79f59a91 --- /dev/null +++ b/HackerRank-C-main/Conditional Statements in C.c @@ -0,0 +1,77 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +char* readline(); + + + +int main() +{ + char* n_endptr; + char* n_str = readline(); + int n = strtol(n_str, &n_endptr, 10); + + if (n_endptr == n_str || *n_endptr != '\0') { exit(EXIT_FAILURE); } + + // Write Your Code Here + if (n==1) + printf("one"); + else if (n==2) + printf("two"); + else if (n==3) + printf("three"); + else if (n==4) + printf("four"); + else if (n==5) + printf("five"); + else if (n==6) + printf("six"); + else if (n==7) + printf("seven"); + else if (n==8) + printf("eight"); + else if (n==9) + printf("nine"); + else + printf("Greater than 9"); + return 0; +} + +char* readline() { + size_t alloc_length = 1024; + size_t data_length = 0; + char* data = malloc(alloc_length); + + while (true) { + char* cursor = data + data_length; + char* line = fgets(cursor, alloc_length - data_length, stdin); + + if (!line) { break; } + + data_length += strlen(cursor); + + if (data_length < alloc_length - 1 || data[data_length - 1] == '\n') { break; } + + size_t new_length = alloc_length << 1; + data = realloc(data, new_length); + + if (!data) { break; } + + alloc_length = new_length; + } + + if (data[data_length - 1] == '\n') { + data[data_length - 1] = '\0'; + } + + data = realloc(data, data_length); + + return data; +} diff --git a/HackerRank-C-main/Digit Frequency.c b/HackerRank-C-main/Digit Frequency.c new file mode 100644 index 00000000..6e05fe16 --- /dev/null +++ b/HackerRank-C-main/Digit Frequency.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +int main() { + + char S[1000]; + int h[10]={0,0,0,0,0,0,0,0,0,0} ; //hasing technique + + scanf("%s",S); + + for(int i = 0 ; i <= strlen(S);i++){ + if(S[i]>='0' && S[i]<='9') + h[S[i]-'0']++ ; + } + + for(int i = 0 ; i <= 9 ;i++) + printf("%d ",h[i]) ; + + return 0; +} diff --git a/HackerRank-C-main/Dynamic Array in C.c b/HackerRank-C-main/Dynamic Array in C.c new file mode 100644 index 00000000..ac8bedb1 --- /dev/null +++ b/HackerRank-C-main/Dynamic Array in C.c @@ -0,0 +1,68 @@ +#include +#include + +int* total_number_of_books; + +int** total_number_of_pages; + +int main() +{ + int total_number_of_shelves; + scanf("%d", &total_number_of_shelves); + + int total_number_of_queries; + scanf("%d", &total_number_of_queries); + + total_number_of_books=(int*)malloc(sizeof(int)*total_number_of_shelves); + + total_number_of_pages=(int**)malloc(sizeof(int*)*total_number_of_shelves); + + for(int i=0; i +#include +#include +#include + + + +int main() +{ + int a, b; + scanf("%d\n%d", &a, &b); + // Complete the code. + char c[10][10]={"","one","two","three","four","five","six","seven","eight","nine"}; + for (int n=a; n<=b; n++) { + ((n<=9)?printf("%s\n",c[n]):(n%2==0)?printf("even\n"):printf("odd\n")); + } + return 0; +} + diff --git a/HackerRank-C-main/Functions in C.c b/HackerRank-C-main/Functions in C.c new file mode 100644 index 00000000..2a2f29d3 --- /dev/null +++ b/HackerRank-C-main/Functions in C.c @@ -0,0 +1,16 @@ +#include +/* +Add `int max_of_four(int a, int b, int c, int d)` here. +*/ +int max_of_four(int w,int x,int y,int z){ + return ((w>x && w>y && w>z)?w:(x>w && x>y && x>z)?x:(y>w && y>x && y>z)?y:z); +} + +int main() { + int a, b, c, d; + scanf("%d %d %d %d", &a, &b, &c, &d); + int ans = max_of_four(a, b, c, d); + printf("%d", ans); + + return 0; +} diff --git a/HackerRank-C-main/Playing With Characters.c b/HackerRank-C-main/Playing With Characters.c new file mode 100644 index 00000000..505ee8a1 --- /dev/null +++ b/HackerRank-C-main/Playing With Characters.c @@ -0,0 +1,19 @@ +#include +#include +#include +#include + +int main() +{ + + /* Enter your code here. Read input from STDIN. Print output to STDOUT */ + char ch,s[100],sen[100]; + scanf("%c",&ch); + scanf("%s",s); + scanf(" %[^\n]s",sen); + printf("%c\n",ch); + printf("%s\n",s); + printf("%s\n",sen); + + return 0; +} diff --git a/HackerRank-C-main/Pointers in C.c b/HackerRank-C-main/Pointers in C.c new file mode 100644 index 00000000..cbdaaff2 --- /dev/null +++ b/HackerRank-C-main/Pointers in C.c @@ -0,0 +1,23 @@ +#include + +void update(int *a,int *b) { + // Complete this function + int bb; + bb = *a; + *a=*a+*b; + if (bb>*b) + *b=bb-*b; + else + *b=*b-bb; +} + +int main() { + int a, b; + int *pa = &a, *pb = &b; + + scanf("%d %d", &a, &b); + update(pa, pb); + printf("%d\n%d", a, b); + + return 0; +} diff --git a/HackerRank-C-main/Printing Pattern Using Loops.c b/HackerRank-C-main/Printing Pattern Using Loops.c new file mode 100644 index 00000000..69c9599c --- /dev/null +++ b/HackerRank-C-main/Printing Pattern Using Loops.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +int main() +{ + + int n; + scanf("%d", &n); + // Complete the code to print the pattern. + int len = n*2 - 1; + for(int i=0;i +#include +#include +#include + +int main() { + + char *s; + s = malloc(1024 * sizeof(char)); + scanf("%[^\n]", s); + s = realloc(s, strlen(s) + 1); + //Write your logic to print the tokens of the sentence here. + for(int i=0;i C C + +# List of Problems + + +| Problem | Subdomain | Problem Link| +| ----------- | ----------- | ----------- | +| "Hello World!" in C | Introduction| [Link](https://www.hackerrank.com/challenges/hello-world-c) | +| Playing With Characters| Introduction| [Link](https://www.hackerrank.com/challenges/playing-with-characters) | +| Sum and Difference of Two Numbers| Introduction| [Link](https://www.hackerrank.com/challenges/sum-numbers-c) | +| Functions in C | Introduction| [Link](https://www.hackerrank.com/challenges/functions-in-c) | +| Pointers in C | Introduction| [Link](https://www.hackerrank.com/challenges/pointer-in-c) | +| Conditional Statements in C |Conditionals and Loops| [Link](https://www.hackerrank.com/challenges/conditional-statements-in-c)| +| For Loop in C |Conditionals and Loops| [Link](https://www.hackerrank.com/challenges/for-loop-in-c)| +| Sum of Digits of a Five Digit Number|Conditionals and Loops| [Link](https://www.hackerrank.com/challenges/sum-of-digits-of-a-five-digit-number)| +| Bitwise Operators |Conditionals and Loops| [Link](https://www.hackerrank.com/challenges/bitwise-operators-in-c)| +| Printing Pattern Using Loops |Conditionals and Loops| [Link](https://www.hackerrank.com/challenges/printing-pattern-2)| +| 1D Arrays in C| Arrays and Strings |[Link](https://www.hackerrank.com/challenges/1d-arrays-in-c)| +| Array Reversal | Arrays and Strings |[Link](https://www.hackerrank.com/challenges/reverse-array-c)| +| Printing Tokens | Arrays and Strings |[Link](https://www.hackerrank.com/challenges/printing-tokens-)| +| Digit Frequency | Arrays and Strings |[Link](https://www.hackerrank.com/challenges/frequency-of-digits-1/problem)| +| Dynamic Array in C | Arrays and Strings |[Link](https://www.hackerrank.com/challenges/dynamic-array-in-c/problem)| +| Calculate the Nth term | Functions |[Link](https://www.hackerrank.com/challenges/recursion-in-c)| +| Students Marks Sum | Functions |[Link](https://www.hackerrank.com/challenges/students-marks-sum)| +| Variadic functions in C | Functions |[Link](https://www.hackerrank.com/challenges/variadic-functions-in-c)| +| Boxes through a Tunnel | Structs and Enums |[Link](https://www.hackerrank.com/challenges/too-high-boxes)| +| Small Triangles, Large Triangles | Structs and Enums |[Link](https://www.hackerrank.com/challenges/small-triangles-large-triangles)| diff --git a/HackerRank-C-main/Small Triangles, Large Triangles.c b/HackerRank-C-main/Small Triangles, Large Triangles.c new file mode 100644 index 00000000..ff7fef9f --- /dev/null +++ b/HackerRank-C-main/Small Triangles, Large Triangles.c @@ -0,0 +1,49 @@ +#include +#include +#include + +struct triangle +{ + int a; + int b; + int c; +}; + +typedef struct triangle triangle; + +/*for finding area of triangle*/ +double area(triangle tr){ + double p=(tr.a+tr.b+tr.c)/2.0; + return sqrt(p*(p-tr.a)*(p-tr.b)*(p-tr.c)); +} +/*for swapping triangles*/ +void swap(triangle* t1,triangle* t2){ + triangle temp; + temp=*t1; + *t1=*t2; + *t2=temp; +} +void sort_by_area(triangle* tr, int n) { + /* Sort an array a of the length n*/ + /*Bubble sort*/ + for (int i=0;iarea(tr[j+1])) + swap(&tr[j],&tr[j+1]); + } +} + +int main() +{ + int n; + scanf("%d", &n); + triangle *tr = malloc(n * sizeof(triangle)); + for (int i = 0; i < n; i++) { + scanf("%d%d%d", &tr[i].a, &tr[i].b, &tr[i].c); + } + sort_by_area(tr, n); + for (int i = 0; i < n; i++) { + printf("%d %d %d\n", tr[i].a, tr[i].b, tr[i].c); + } + return 0; +} diff --git a/HackerRank-C-main/Students Marks Sum.c b/HackerRank-C-main/Students Marks Sum.c new file mode 100644 index 00000000..652243a8 --- /dev/null +++ b/HackerRank-C-main/Students Marks Sum.c @@ -0,0 +1,42 @@ +#include +#include +#include +#include + +//Complete the following function. + +int marks_summation(int* marks, int number_of_students, char gender) { + //Write your code here. + int girls_sum=0; + int boys_sum=0; + for (int i=0;i +#include +#include +#include + +int main() +{ + + int a,b; + float c,d; + scanf("%d %d",&a,&b); + scanf("%f %f",&c,&d); + printf("%d %d\n",a+b,a-b); + printf("%.1f %.1f",c+d,c-d); + return 0; +} diff --git a/HackerRank-C-main/Sum of Digits of a Five Digit Number.c b/HackerRank-C-main/Sum of Digits of a Five Digit Number.c new file mode 100644 index 00000000..3d824f6a --- /dev/null +++ b/HackerRank-C-main/Sum of Digits of a Five Digit Number.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include + +int main() { + + int n; + scanf("%d", &n); + //Complete the code to calculate the sum of the five digits on n. + int sum=0; + while (n>0){ + sum+=n%10; + n/=10; + } + printf("%d\n",sum); + return 0; +} diff --git a/HackerRank-C-main/Variadic functions in C.c b/HackerRank-C-main/Variadic functions in C.c new file mode 100644 index 00000000..7cde0e19 --- /dev/null +++ b/HackerRank-C-main/Variadic functions in C.c @@ -0,0 +1,205 @@ +#include +#include +#include +#include + +#define MIN_ELEMENT 1 +#define MAX_ELEMENT 1000000 +/* Go through the link to understand c standard library +https://www.tutorialspoint.com/c_standard_library/stdarg_h.htm +*/ +/*This is a type suitable for holding information needed by the three macros va_start(), va_arg() and va_end().*/ +int sum (int count,...) { + int sum=0; + va_list values; + va_start(values,count); + for(int i=0;itest){ + min=test; + } + } + va_end(values); + return min; +} + +int max(int count,...) { + int max=MIN_ELEMENT,test; + va_list values; + va_start(values,count); + for(int i=0;i maximum_element) { + return 0; + } + + expected_elements_sum += elements[i]; + } + + return elements_sum == expected_elements_sum; +} + +int test_implementations_by_sending_five_elements() { + srand(time(NULL)); + + int elements[5]; + + elements[0] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[1] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[2] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[3] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[4] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + + fprintf(stderr, "Sending following five elements:\n"); + for (int i = 0; i < 5; i++) { + fprintf(stderr, "%d\n", elements[i]); + } + + int elements_sum = sum(5, elements[0], elements[1], elements[2], elements[3], elements[4]); + int minimum_element = min(5, elements[0], elements[1], elements[2], elements[3], elements[4]); + int maximum_element = max(5, elements[0], elements[1], elements[2], elements[3], elements[4]); + + fprintf(stderr, "Your output is:\n"); + fprintf(stderr, "Elements sum is %d\n", elements_sum); + fprintf(stderr, "Minimum element is %d\n", minimum_element); + fprintf(stderr, "Maximum element is %d\n\n", maximum_element); + + int expected_elements_sum = 0; + for (int i = 0; i < 5; i++) { + if (elements[i] < minimum_element) { + return 0; + } + + if (elements[i] > maximum_element) { + return 0; + } + + expected_elements_sum += elements[i]; + } + + return elements_sum == expected_elements_sum; +} + +int test_implementations_by_sending_ten_elements() { + srand(time(NULL)); + + int elements[10]; + + elements[0] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[1] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[2] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[3] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[4] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[5] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[6] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[7] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[8] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + elements[9] = rand() % (MAX_ELEMENT - MIN_ELEMENT + 1) + MIN_ELEMENT; + + fprintf(stderr, "Sending following ten elements:\n"); + for (int i = 0; i < 10; i++) { + fprintf(stderr, "%d\n", elements[i]); + } + + int elements_sum = sum(10, elements[0], elements[1], elements[2], elements[3], elements[4], + elements[5], elements[6], elements[7], elements[8], elements[9]); + int minimum_element = min(10, elements[0], elements[1], elements[2], elements[3], elements[4], + elements[5], elements[6], elements[7], elements[8], elements[9]); + int maximum_element = max(10, elements[0], elements[1], elements[2], elements[3], elements[4], + elements[5], elements[6], elements[7], elements[8], elements[9]); + + fprintf(stderr, "Your output is:\n"); + fprintf(stderr, "Elements sum is %d\n", elements_sum); + fprintf(stderr, "Minimum element is %d\n", minimum_element); + fprintf(stderr, "Maximum element is %d\n\n", maximum_element); + + int expected_elements_sum = 0; + for (int i = 0; i < 10; i++) { + if (elements[i] < minimum_element) { + return 0; + } + + if (elements[i] > maximum_element) { + return 0; + } + + expected_elements_sum += elements[i]; + } + + return elements_sum == expected_elements_sum; +} + +int main () +{ + int number_of_test_cases; + scanf("%d", &number_of_test_cases); + + while (number_of_test_cases--) { + if (test_implementations_by_sending_three_elements()) { + printf("Correct Answer\n"); + } else { + printf("Wrong Answer\n"); + } + + if (test_implementations_by_sending_five_elements()) { + printf("Correct Answer\n"); + } else { + printf("Wrong Answer\n"); + } + + if (test_implementations_by_sending_ten_elements()) { + printf("Correct Answer\n"); + } else { + printf("Wrong Answer\n"); + } + } + + return 0; +} diff --git a/HackerRank-C-main/_Hello World!_ in C.c b/HackerRank-C-main/_Hello World!_ in C.c new file mode 100644 index 00000000..67f0c170 --- /dev/null +++ b/HackerRank-C-main/_Hello World!_ in C.c @@ -0,0 +1,16 @@ +#include +#include +#include +#include + +int main() +{ + + char s[100]; + scanf("%[^\n]%*c", &s); + + /* Enter your code here. Read input from STDIN. Print output to STDOUT */ + printf("Hello, World!\n"); + printf("%s",s); + return 0; +} diff --git a/HackerRank-Python-main/Alphabet Rangoli.py b/HackerRank-Python-main/Alphabet Rangoli.py new file mode 100644 index 00000000..ac7c7152 --- /dev/null +++ b/HackerRank-Python-main/Alphabet Rangoli.py @@ -0,0 +1,12 @@ +import string + +def print_rangoli(n): + alpha = string.ascii_lowercase + L = [] + for i in range(n): + s = "-".join(alpha[i:n]) + L.append((s[::-1]+s[1:]).center(4*n-3, "-")) + print('\n'.join(L[:0:-1]+L)) +if __name__ == '__main__': + n = int(input()) + print_rangoli(n) diff --git a/HackerRank-Python-main/Arithmetic Operators.py b/HackerRank-Python-main/Arithmetic Operators.py new file mode 100644 index 00000000..e71213fc --- /dev/null +++ b/HackerRank-Python-main/Arithmetic Operators.py @@ -0,0 +1,6 @@ +if __name__ == '__main__': + a = int(input()) + b = int(input()) + print(a+b) + print(a-b) + print(a*b) diff --git a/HackerRank-Python-main/Calendar Module.py b/HackerRank-Python-main/Calendar Module.py new file mode 100644 index 00000000..8748015a --- /dev/null +++ b/HackerRank-Python-main/Calendar Module.py @@ -0,0 +1,4 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +import calendar +m,d,y=map(int,input().split()) +print(list(calendar.day_name)[calendar.weekday(y, m, d)].upper()) diff --git a/HackerRank-Python-main/Capitalize!.py b/HackerRank-Python-main/Capitalize!.py new file mode 100644 index 00000000..f9d6c757 --- /dev/null +++ b/HackerRank-Python-main/Capitalize!.py @@ -0,0 +1,23 @@ +#!/bin/python3 + +import math +import os +import random +import re +import sys +import string + +# Complete the solve function below. +def solve(s): + return string.capwords(s, ' ') + +if __name__ == '__main__': + fptr = open(os.environ['OUTPUT_PATH'], 'w') + + s = input() + + result = solve(s) + + fptr.write(result + '\n') + + fptr.close() diff --git a/HackerRank-Python-main/Designer Door Mat.py b/HackerRank-Python-main/Designer Door Mat.py new file mode 100644 index 00000000..788917ed --- /dev/null +++ b/HackerRank-Python-main/Designer Door Mat.py @@ -0,0 +1,4 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +n, m = map(int,input().split()) +pattern = [('.|.'*(2*i + 1)).center(m, '-') for i in range(n//2)] +print('\n'.join(pattern + ['WELCOME'.center(m, '-')] + pattern[::-1])) diff --git a/HackerRank-Python-main/Find a String.py b/HackerRank-Python-main/Find a String.py new file mode 100644 index 00000000..66dcaeb1 --- /dev/null +++ b/HackerRank-Python-main/Find a String.py @@ -0,0 +1,16 @@ +def count_substring(string, sub_string): + count =0 + for i in range(len(string)-len(sub_string)+1): + try: + if string[i:i+len(sub_string)]==sub_string: + count+=1 + except IndexError: + break + return count + +if __name__ == '__main__': + string = input().strip() + sub_string = input().strip() + + count = count_substring(string, sub_string) + print(count) diff --git a/HackerRank-Python-main/Find the Runner-Up Score!.py b/HackerRank-Python-main/Find the Runner-Up Score!.py new file mode 100644 index 00000000..d178e956 --- /dev/null +++ b/HackerRank-Python-main/Find the Runner-Up Score!.py @@ -0,0 +1,9 @@ +if __name__ == '__main__': + n = int(input()) + arr = list(map(int, input().split())) + arr.sort(reverse=True) + first=arr[0] + for i in range(len(arr)): + if (first>arr[i]): + print(arr[i]) + break diff --git a/HackerRank-Python-main/Finding the percentage.py b/HackerRank-Python-main/Finding the percentage.py new file mode 100644 index 00000000..6c3ced7d --- /dev/null +++ b/HackerRank-Python-main/Finding the percentage.py @@ -0,0 +1,9 @@ +if __name__ == '__main__': + n = int(input()) + student_marks = {} + for _ in range(n): + name, *line = input().split() + scores = list(map(float, line)) + student_marks[name] = scores + query_name = input() + print('{:.2f}'.format(sum(student_marks[query_name])/len(student_marks[query_name]))) diff --git a/HackerRank-Python-main/Incorrect Regex.py b/HackerRank-Python-main/Incorrect Regex.py new file mode 100644 index 00000000..9cdfb77b --- /dev/null +++ b/HackerRank-Python-main/Incorrect Regex.py @@ -0,0 +1,7 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +import re +for t in range(int(input())): + try: + print(bool(re.compile(input()))) + except: + print('False') diff --git a/HackerRank-Python-main/Input().py b/HackerRank-Python-main/Input().py new file mode 100644 index 00000000..724a42eb --- /dev/null +++ b/HackerRank-Python-main/Input().py @@ -0,0 +1,7 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +x,k=map(int,input().split()) +p=input() +if eval(p)==k: + print(True) +else: + print(False) diff --git a/HackerRank-Python-main/Integers Come In All Sizes.py b/HackerRank-Python-main/Integers Come In All Sizes.py new file mode 100644 index 00000000..c7606da2 --- /dev/null +++ b/HackerRank-Python-main/Integers Come In All Sizes.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +a=int(input()) +b=int(input()) +c=int(input()) +d=int(input()) +print(pow(a,b)+pow(c,d)) diff --git a/HackerRank-Python-main/List Comprehensions.py b/HackerRank-Python-main/List Comprehensions.py new file mode 100644 index 00000000..301084b3 --- /dev/null +++ b/HackerRank-Python-main/List Comprehensions.py @@ -0,0 +1,3 @@ +if __name__ == '__main__': + x, y, z, n = int(input()), int(input()), int(input()), int(input()) +print ([[a,b,c] for a in range(0,x+1) for b in range(0,y+1) for c in range(0,z+1) if a + b + c != n ]) diff --git a/HackerRank-Python-main/Lists.py b/HackerRank-Python-main/Lists.py new file mode 100644 index 00000000..8ec93a0e --- /dev/null +++ b/HackerRank-Python-main/Lists.py @@ -0,0 +1,11 @@ +n = int(input()) +l = [] +for _ in range(n): + s = input().split() + cmd = s[0] + args = s[1:] + if (cmd !="print"): + cmd += "("+ ",".join(args) +")" + eval("l."+cmd) + else: + print (l) diff --git a/HackerRank-Python-main/Loops.py b/HackerRank-Python-main/Loops.py new file mode 100644 index 00000000..c8869e0e --- /dev/null +++ b/HackerRank-Python-main/Loops.py @@ -0,0 +1,4 @@ +if __name__ == '__main__': + n = int(input()) + for i in range(n): + print(i**2) diff --git a/HackerRank-Python-main/Mod Divmod.py b/HackerRank-Python-main/Mod Divmod.py new file mode 100644 index 00000000..7657927a --- /dev/null +++ b/HackerRank-Python-main/Mod Divmod.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +a=int(input()) +b=int(input()) +print(a//b) +print(a%b) +print(divmod(a,b)) diff --git a/HackerRank-Python-main/Mutations.py b/HackerRank-Python-main/Mutations.py new file mode 100644 index 00000000..603cbc1f --- /dev/null +++ b/HackerRank-Python-main/Mutations.py @@ -0,0 +1,8 @@ +def mutate_string(string, position, character): + return (string[:position]+character+string[position+1:]) + +if __name__ == '__main__': + s = input() + i, c = input().split() + s_new = mutate_string(s, int(i), c) + print(s_new) diff --git a/HackerRank-Python-main/Nested Lists.py b/HackerRank-Python-main/Nested Lists.py new file mode 100644 index 00000000..7d2968c5 --- /dev/null +++ b/HackerRank-Python-main/Nested Lists.py @@ -0,0 +1,6 @@ +marksheet = [] +for _ in range(0,int(input())): + marksheet.append([input(), float(input())]) + +second_highest = sorted(list(set([marks for name, marks in marksheet])))[1] +print('\n'.join([a for a,b in sorted(marksheet) if b == second_highest])) diff --git a/HackerRank-Python-main/Polar Coordinates.py b/HackerRank-Python-main/Polar Coordinates.py new file mode 100644 index 00000000..f6529e38 --- /dev/null +++ b/HackerRank-Python-main/Polar Coordinates.py @@ -0,0 +1,3 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +from cmath import polar +print ('{}\n{}'.format(*polar(complex(input())))) diff --git a/HackerRank-Python-main/Power - Mod Power.py b/HackerRank-Python-main/Power - Mod Power.py new file mode 100644 index 00000000..ed38798c --- /dev/null +++ b/HackerRank-Python-main/Power - Mod Power.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +a=int(input()) +b=int(input()) +m=int(input()) +print(pow(a,b)) +print(pow(a,b,m)) diff --git a/HackerRank-Python-main/Print Function.py b/HackerRank-Python-main/Print Function.py new file mode 100644 index 00000000..a81e9728 --- /dev/null +++ b/HackerRank-Python-main/Print Function.py @@ -0,0 +1,4 @@ +if __name__ == '__main__': + n = int(input()) + for i in range(1,n+1): + print(i,end='') diff --git a/HackerRank-Python-main/Python If-Else.py b/HackerRank-Python-main/Python If-Else.py new file mode 100644 index 00000000..e8d69baf --- /dev/null +++ b/HackerRank-Python-main/Python If-Else.py @@ -0,0 +1,20 @@ +#!/bin/python3 + +import math +import os +import random +import re +import sys + + + +if __name__ == '__main__': + n = int(input().strip()) + if (n%2==0 and n in range(2,6)): + print('Not Weird') + elif (n%2==0 and n in range(6,21)): + print('Weird') + elif(n%2==0 and n>20): + print('Not Weird') + elif(n%2!=0): + print('Weird') diff --git a/HackerRank-Python-main/Python_ Division.py b/HackerRank-Python-main/Python_ Division.py new file mode 100644 index 00000000..1908c3ff --- /dev/null +++ b/HackerRank-Python-main/Python_ Division.py @@ -0,0 +1,5 @@ +if __name__ == '__main__': + a = int(input()) + b = int(input()) + print(a//b) + print(a/b) diff --git a/HackerRank-Python-main/README.md b/HackerRank-Python-main/README.md new file mode 100644 index 00000000..34a6bf11 --- /dev/null +++ b/HackerRank-Python-main/README.md @@ -0,0 +1,49 @@ +# HackerRank-Python +This repository contains **HackerRank Python** Problem Solution. + +Follow me on **HackerRank** [Click here!](https://www.hackerrank.com/arwazkhan189) + +> Python Python + +# List of Problems + + +| Problem | Subdomain | Problem Link| +| ----------- | ----------- | ----------- | +| Say "Hello, World!" With Python | Introduction | [Link](https://www.hackerrank.com/challenges/py-hello-world) | +| Python If-Else | Introduction | [Link](https://www.hackerrank.com/challenges/py-if-else) | +| Arithmetic Operators | Introduction | [Link](https://www.hackerrank.com/challenges/python-arithmetic-operators) | +| Python: Division | Introduction | [Link](https://www.hackerrank.com/challenges/python-division) | +| Loops | Introduction | [Link](https://www.hackerrank.com/challenges/python-loops) | +| Write a function | Introduction | [Link](https://www.hackerrank.com/challenges/write-a-function) | +| Print Function | Introduction | [Link](https://www.hackerrank.com/challenges/python-print) | +| List Comprehensions | Basic Data Types | [Link](https://www.hackerrank.com/challenges/list-comprehensions) | +| Find the Runner-Up Score! | Basic Data Types | [Link](https://www.hackerrank.com/challenges/find-second-maximum-number-in-a-list) | +| Nested Lists | Basic Data Types | [Link](https://www.hackerrank.com/challenges/nested-list) | +| Finding the percentage | Basic Data Types | [Link](https://www.hackerrank.com/challenges/finding-the-percentage) | +| Lists | Basic Data Types | [Link](https://www.hackerrank.com/challenges/python-lists) | +| Tuples | Basic Data Types | [Link](https://www.hackerrank.com/challenges/python-tuples) | +| sWAP cASE | Strings | [Link](https://www.hackerrank.com/challenges/swap-case) | +| String Split and Join | Strings | [Link](https://www.hackerrank.com/challenges/python-string-split-and-join) | +| What's Your Name? | Strings | [Link](https://www.hackerrank.com/challenges/whats-your-name) | +| Mutations | Strings | [Link](https://www.hackerrank.com/challenges/python-mutations) | +| Find a string | Strings | [Link](https://www.hackerrank.com/challenges/find-a-string) | +| String Validators | Strings | [Link](https://www.hackerrank.com/challenges/string-validators) | +| Tesxt Alignment | Strings | [Link](https://www.hackerrank.com/challenges/text-alignment) | +| Text Wrap | Strings | [Link](https://www.hackerrank.com/challenges/text-wrap) | +| Designer Door Mat | Strings | [Link](https://www.hackerrank.com/challenges/designer-door-mat) | +| String Formatting | Strings | [Link](https://www.hackerrank.com/challenges/python-string-formatting) | +| Alphabet Rangoli | Strings | [Link](https://www.hackerrank.com/challenges/alphabet-rangoli) | +| Capitalize! | Strings | [Link](https://www.hackerrank.com/challenges/capitalize) | +| Set .discard(), .remove() & .pop() | Sets | [Link](https://www.hackerrank.com/challenges/py-set-discard-remove-pop) | +| Set .union() Operation | Sets | [Link](https://www.hackerrank.com/challenges/py-set-union) | +| Set .intersection() Operation | Sets | [Link](https://www.hackerrank.com/challenges/py-set-intersection-operation) | +| Set .difference() Operation | Sets | [Link](https://www.hackerrank.com/challenges/py-set-difference-operation) | +| Polar Coordinates | Math | [Link](https://www.hackerrank.com/challenges/polar-coordinates) | +| Mod Divmod | Math | [Link](https://www.hackerrank.com/challenges/python-mod-divmod) | +| Power - Mod Power | Math | [Link](https://www.hackerrank.com/challenges/python-power-mod-power) | +| Integers Come In All Sizes | Math | [Link](https://www.hackerrank.com/challenges/python-integers-come-in-all-sizes) | +| Triangle Quest | Math | [Link](https://www.hackerrank.com/challenges/python-quest-1) | +| Calendar Module | Date and Time | [Link](https://www.hackerrank.com/challenges/calendar-module) | +| Incorrect Regex | Errors and Exceptions | [Link](https://www.hackerrank.com/challenges/incorrect-regex) | +| Input() | Built-Ins | [Link](https://www.hackerrank.com/challenges/input) | diff --git a/HackerRank-Python-main/Say _Hello, World!_ With Python.py b/HackerRank-Python-main/Say _Hello, World!_ With Python.py new file mode 100644 index 00000000..7df869a1 --- /dev/null +++ b/HackerRank-Python-main/Say _Hello, World!_ With Python.py @@ -0,0 +1 @@ +print("Hello, World!") diff --git a/HackerRank-Python-main/Set .difference() Operation.py b/HackerRank-Python-main/Set .difference() Operation.py new file mode 100644 index 00000000..20a48647 --- /dev/null +++ b/HackerRank-Python-main/Set .difference() Operation.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +ne=int(input()) +re=set(map(int,input().split())) +nb=int(input()) +rb=set(map(int,input().split())) +print(len(re-rb)) diff --git a/HackerRank-Python-main/Set .discard(), .remove() & .pop().py b/HackerRank-Python-main/Set .discard(), .remove() & .pop().py new file mode 100644 index 00000000..368f0a94 --- /dev/null +++ b/HackerRank-Python-main/Set .discard(), .remove() & .pop().py @@ -0,0 +1,6 @@ +n = int(input()) +s = set(map(int, input().split())) +for i in range(int(input())): + eval('s.{0}({1})'.format(*input().split()+[''])) + +print(sum(s)) diff --git a/HackerRank-Python-main/Set .intersection() Operation.py b/HackerRank-Python-main/Set .intersection() Operation.py new file mode 100644 index 00000000..e148e9f6 --- /dev/null +++ b/HackerRank-Python-main/Set .intersection() Operation.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +ne=int(input()) +re=set(map(int,input().split())) +nb=int(input()) +rb=set(map(int,input().split())) +print(len(re&rb)) diff --git a/HackerRank-Python-main/Set .union() Operation.py b/HackerRank-Python-main/Set .union() Operation.py new file mode 100644 index 00000000..9caf7e24 --- /dev/null +++ b/HackerRank-Python-main/Set .union() Operation.py @@ -0,0 +1,6 @@ +# Enter your code here. Read input from STDIN. Print output to STDOUT +ne=int(input()) +re=set(map(int,input().split())) +nb=int(input()) +rb=set(map(int,input().split())) +print(len(re|rb)) diff --git a/HackerRank-Python-main/String Formatting.py b/HackerRank-Python-main/String Formatting.py new file mode 100644 index 00000000..8c08b364 --- /dev/null +++ b/HackerRank-Python-main/String Formatting.py @@ -0,0 +1,8 @@ +def print_formatted(number): + # your code goes here + width = len("{0:b}".format(number)) + for i in range(1,n+1): + print( "{0:{width}d} {0:{width}o} {0:{width}X} {0:{width}b}".format(i, width=width)) +if __name__ == '__main__': + n = int(input()) + print_formatted(n) diff --git a/HackerRank-Python-main/String Split and Join.py b/HackerRank-Python-main/String Split and Join.py new file mode 100644 index 00000000..f7be01a3 --- /dev/null +++ b/HackerRank-Python-main/String Split and Join.py @@ -0,0 +1,7 @@ +def split_and_join(line): + return ("-".join(line.split())) + +if __name__ == '__main__': + line = input() + result = split_and_join(line) + print(result) diff --git a/HackerRank-Python-main/String Validators.py b/HackerRank-Python-main/String Validators.py new file mode 100644 index 00000000..df9ae529 --- /dev/null +++ b/HackerRank-Python-main/String Validators.py @@ -0,0 +1,4 @@ +if __name__ == '__main__': + s = input() + for test in ('isalnum', 'isalpha', 'isdigit', 'islower', 'isupper'): + print(any(eval("c." + test + "()") for c in s)) diff --git a/HackerRank-Python-main/Text Alignment.py b/HackerRank-Python-main/Text Alignment.py new file mode 100644 index 00000000..0265c300 --- /dev/null +++ b/HackerRank-Python-main/Text Alignment.py @@ -0,0 +1,24 @@ +#Replace all ______ with rjust, ljust or center. + +thickness = int(input()) #This must be an odd number +c = 'H' + +#Top Cone +for i in range(thickness): + print((c*i).rjust(thickness-1)+c+(c*i).ljust(thickness-1)) + +#Top Pillars +for i in range(thickness+1): + print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6)) + +#Middle Belt +for i in range((thickness+1)//2): + print((c*thickness*5).center(thickness*6)) + +#Bottom Pillars +for i in range(thickness+1): + print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6)) + +#Bottom Cone +for i in range(thickness): + print(((c*(thickness-i-1)).rjust(thickness)+c+(c*(thickness-i-1)).ljust(thickness)).rjust(thickness*6)) diff --git a/HackerRank-Python-main/Text Wrap.py b/HackerRank-Python-main/Text Wrap.py new file mode 100644 index 00000000..18e7bf70 --- /dev/null +++ b/HackerRank-Python-main/Text Wrap.py @@ -0,0 +1,10 @@ +import textwrap + +def wrap(string, max_width): + + return '\n'.join(textwrap.wrap(string,max_width)) + +if __name__ == '__main__': + string, max_width = input(), int(input()) + result = wrap(string, max_width) + print(result) diff --git a/HackerRank-Python-main/Triangle Quest.py b/HackerRank-Python-main/Triangle Quest.py new file mode 100644 index 00000000..12e66502 --- /dev/null +++ b/HackerRank-Python-main/Triangle Quest.py @@ -0,0 +1,2 @@ +for i in range(1,int(input())): + print((10**(i)//9)*i) diff --git a/HackerRank-Python-main/Tuples.py b/HackerRank-Python-main/Tuples.py new file mode 100644 index 00000000..7274dbe2 --- /dev/null +++ b/HackerRank-Python-main/Tuples.py @@ -0,0 +1,3 @@ +n=int(input()) +t=tuple(map(int,input().split())) +print(hash(t)) diff --git a/HackerRank-Python-main/What's Your Name_.py b/HackerRank-Python-main/What's Your Name_.py new file mode 100644 index 00000000..4d2200c2 --- /dev/null +++ b/HackerRank-Python-main/What's Your Name_.py @@ -0,0 +1,7 @@ +def print_full_name(a, b): + print(f"Hello {a} {b}! You just delved into python.") + +if __name__ == '__main__': + first_name = input() + last_name = input() + print_full_name(first_name, last_name) diff --git a/HackerRank-Python-main/Write a function.py b/HackerRank-Python-main/Write a function.py new file mode 100644 index 00000000..35cc5c66 --- /dev/null +++ b/HackerRank-Python-main/Write a function.py @@ -0,0 +1,11 @@ +def is_leap(year): + leap = False + + # Write your logic here + if (year%4==0 and year%100!=0 or year%400==0 ): + leap=True + + return leap + +year = int(input()) +print(is_leap(year)) diff --git a/HackerRank-Python-main/python.png b/HackerRank-Python-main/python.png new file mode 100644 index 0000000000000000000000000000000000000000..fead838a0823150db7bf63e455bbdbb9f044e271 GIT binary patch literal 6482 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 literal 0 HcmV?d00001 diff --git a/HackerRank-Python-main/sWAP cASE.py b/HackerRank-Python-main/sWAP cASE.py new file mode 100644 index 00000000..c5820e24 --- /dev/null +++ b/HackerRank-Python-main/sWAP cASE.py @@ -0,0 +1,13 @@ +def swap_case(s): + a = "" + for let in s: + if (let.isupper() == True): + a+=(let.lower()) + else: + a+=(let.upper()) + return a + +if __name__ == '__main__': + s = input() + result = swap_case(s) + print(result) diff --git a/HackerRank-SQL-main/Employee Names.sql b/HackerRank-SQL-main/Employee Names.sql new file mode 100644 index 00000000..24bef8e4 --- /dev/null +++ b/HackerRank-SQL-main/Employee Names.sql @@ -0,0 +1,3 @@ +-- Write a query that prints a list of employee names (i.e.: the name attribute) from the Employee table in alphabetical order. + +SELECT NAME FROM EMPLOYEE ORDER BY NAME ; diff --git a/HackerRank-SQL-main/Employee Salaries.sql b/HackerRank-SQL-main/Employee Salaries.sql new file mode 100644 index 00000000..3cfb892c --- /dev/null +++ b/HackerRank-SQL-main/Employee Salaries.sql @@ -0,0 +1,4 @@ +/* Write a query that prints a list of employee names (i.e.: the name attribute) for employees in Employee having a salary greater than $2000 +per month who have been employees for less than 10 months. Sort your result by ascending employee_id. */ + +SELECT NAME FROM EMPLOYEE WHERE SALARY > 2000 AND MONTHS <10 ORDER BY EMPLOYEE_ID ; diff --git a/HackerRank-SQL-main/Higher Than 75 Marks.sql b/HackerRank-SQL-main/Higher Than 75 Marks.sql new file mode 100644 index 00000000..6ff83013 --- /dev/null +++ b/HackerRank-SQL-main/Higher Than 75 Marks.sql @@ -0,0 +1,4 @@ +/* Query the Name of any student in STUDENTS who scored higher than 75 Marks. Order your output by the last three characters of each name. +If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.*/ + +SELECT NAME FROM STUDENTS WHERE MARKS > 75 ORDER BY RIGHT(NAME, 3), ID; diff --git a/HackerRank-SQL-main/Japanese Cities' Attributes.sql b/HackerRank-SQL-main/Japanese Cities' Attributes.sql new file mode 100644 index 00000000..0cb23748 --- /dev/null +++ b/HackerRank-SQL-main/Japanese Cities' Attributes.sql @@ -0,0 +1,3 @@ +--Query all attributes of every Japanese city in the CITY table. The COUNTRYCODE for Japan is JPN. + +SELECT * FROM CITY WHERE COUNTRYCODE = "JPN" ; diff --git a/HackerRank-SQL-main/Japanese Cities' Names.sql b/HackerRank-SQL-main/Japanese Cities' Names.sql new file mode 100644 index 00000000..b44ff1ab --- /dev/null +++ b/HackerRank-SQL-main/Japanese Cities' Names.sql @@ -0,0 +1,3 @@ +--Query the names of all the Japanese cities in the CITY table. The COUNTRYCODE for Japan is JPN. + +SELECT NAME FROM CITY WHERE COUNTRYCODE = "JPN" ; diff --git a/HackerRank-SQL-main/README.md b/HackerRank-SQL-main/README.md new file mode 100644 index 00000000..47844368 --- /dev/null +++ b/HackerRank-SQL-main/README.md @@ -0,0 +1,42 @@ +# HackerRank-SQL +This repository contains **HackerRank SQL** Problem Solution. + +Follow me on **HackerRank** [Click here!](https://www.hackerrank.com/arwazkhan189) + +> SQL + +# List of Problems + +| S.No. | Problem | Subdomain | Problem Link| +|-------| ---------------------------- | ------------ | ----------- | +| 1 | Revising the Select Query I | Basic Select | [Link](https://www.hackerrank.com/challenges/revising-the-select-query/problem)| +| 2 | Revising the Select Query II | Basic Select | [Link](https://www.hackerrank.com/challenges/revising-the-select-query-2/problem)| +| 3 | Select All | Basic Select | [Link](https://www.hackerrank.com/challenges/select-all-sql/problem)| +| 4 | Select By ID | Basic Select | [Link](https://www.hackerrank.com/challenges/select-by-id/problem) | +| 5 | Japanese Cities' Attributes | Basic Select | [Link](https://www.hackerrank.com/challenges/japanese-cities-attributes/problem) | +| 6 | Japanese Cities' Names | Basic Select | [Link](https://www.hackerrank.com/challenges/japanese-cities-name/problem) | +| 7 | Weather Observation Station 1 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-1/problem) | +| 8 | Weather Observation Station 3 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-3/problem) | +| 9 | Weather Observation Station 4 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-4/problem) | +| 10 | Weather Observation Station 5 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-5/problem) | +| 11 | Weather Observation Station 6 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-6/problem) | +| 12 | Weather Observation Station 7 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-7/problem) | +| 13 | Weather Observation Station 8 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-8/problem) | +| 14 | Weather Observation Station 9 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-9/problem) | +| 15 | Weather Observation Station 10 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-10/problem) | +| 16 | Weather Observation Station 11 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-11/problem) | +| 17 | Weather Observation Station 12 | Basic Select | [Link](https://www.hackerrank.com/challenges/weather-observation-station-12/problem) | +| 18 | Higher Than 75 Marks | Basic Select | [Link](https://www.hackerrank.com/challenges/more-than-75-marks/problem) | +| 19 | Employee Names | Basic Select | [Link](https://www.hackerrank.com/challenges/name-of-employees/problem) | +| 20 | Employee Salaries | Basic Select | [Link](https://www.hackerrank.com/challenges/salary-of-employees/problem) | +| 21 | Type of Triangle | Advanced Select | [Link](https://www.hackerrank.com/challenges/what-type-of-triangle/problem) | + +--- + +# Useful material to solve queries + +### REGEXP TABLE +

+ regexp table + +

diff --git a/HackerRank-SQL-main/Revising the Select Query I.sql b/HackerRank-SQL-main/Revising the Select Query I.sql new file mode 100644 index 00000000..a67f11f3 --- /dev/null +++ b/HackerRank-SQL-main/Revising the Select Query I.sql @@ -0,0 +1,3 @@ +--Query all columns for all American cities in the CITY table with populations larger than 100000. The CountryCode for America is USA. + +SELECT * FROM CITY WHERE COUNTRYCODE = "USA" AND POPULATION > 100000 ; diff --git a/HackerRank-SQL-main/Revising the Select Query II.sql b/HackerRank-SQL-main/Revising the Select Query II.sql new file mode 100644 index 00000000..66416a51 --- /dev/null +++ b/HackerRank-SQL-main/Revising the Select Query II.sql @@ -0,0 +1,3 @@ +--Query the NAME field for all American cities in the CITY table with populations larger than 120000. The CountryCode for America is USA. + +SELECT NAME FROM CITY WHERE COUNTRYCODE="USA" AND POPULATION >120000 ; diff --git a/HackerRank-SQL-main/Select All.sql b/HackerRank-SQL-main/Select All.sql new file mode 100644 index 00000000..fdf2f0ed --- /dev/null +++ b/HackerRank-SQL-main/Select All.sql @@ -0,0 +1,3 @@ +--Query all columns (attributes) for every row in the CITY table. + +SELECT * FROM CITY ; diff --git a/HackerRank-SQL-main/Select By ID.sql b/HackerRank-SQL-main/Select By ID.sql new file mode 100644 index 00000000..5bbb6290 --- /dev/null +++ b/HackerRank-SQL-main/Select By ID.sql @@ -0,0 +1,3 @@ +-- Query all columns for a city in CITY with the ID 1661. + +SELECT * FROM CITY WHERE ID=1661 ; diff --git a/HackerRank-SQL-main/Tables/regexp_sql.png b/HackerRank-SQL-main/Tables/regexp_sql.png new file mode 100644 index 0000000000000000000000000000000000000000..e8aef1f3af9ea563795d08d9acd0334fd83a0792 GIT binary patch literal 66597 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 C AND B + C > A AND A + C > B THEN + CASE + WHEN A = B AND B = C THEN 'Equilateral' + WHEN A = B OR B = C OR A = C THEN 'Isosceles' + ELSE 'Scalene' + END + ELSE 'Not A Triangle' + END +FROM TRIANGLES; diff --git a/HackerRank-SQL-main/Weather Observation Station 1.sql b/HackerRank-SQL-main/Weather Observation Station 1.sql new file mode 100644 index 00000000..9078ce0d --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 1.sql @@ -0,0 +1,3 @@ +--Query a list of CITY and STATE from the STATION table. + +SELECT CITY, STATE FROM STATION ; diff --git a/HackerRank-SQL-main/Weather Observation Station 10.sql b/HackerRank-SQL-main/Weather Observation Station 10.sql new file mode 100644 index 00000000..e4b44f11 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 10.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names from STATION that do not end with vowels. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '[^aeiou]$' ; diff --git a/HackerRank-SQL-main/Weather Observation Station 11.sql b/HackerRank-SQL-main/Weather Observation Station 11.sql new file mode 100644 index 00000000..3ee11582 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 11.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names from STATION that either do not start with vowels or do not end with vowels. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '^[^aieou]|.*[^aeiou]$' ; diff --git a/HackerRank-SQL-main/Weather Observation Station 12.sql b/HackerRank-SQL-main/Weather Observation Station 12.sql new file mode 100644 index 00000000..6d65b6de --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 12.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names from STATION that do not start with vowels and do not end with vowels. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '^[^aeiou].*[^aeiou]$'; diff --git a/HackerRank-SQL-main/Weather Observation Station 3.sql b/HackerRank-SQL-main/Weather Observation Station 3.sql new file mode 100644 index 00000000..eca5a7a5 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 3.sql @@ -0,0 +1,3 @@ +--Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer. + +SELECT DISTINCT CITY FROM STATION WHERE ID%2=0 ; diff --git a/HackerRank-SQL-main/Weather Observation Station 4.sql b/HackerRank-SQL-main/Weather Observation Station 4.sql new file mode 100644 index 00000000..b25c2241 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 4.sql @@ -0,0 +1,3 @@ +--Find the difference between the total number of CITY entries in the table and the number of distinct CITY entries in the table. + +SELECT COUNT(CITY)- COUNT(DISTINCT CITY) FROM STATION ; diff --git a/HackerRank-SQL-main/Weather Observation Station 5.sql b/HackerRank-SQL-main/Weather Observation Station 5.sql new file mode 100644 index 00000000..36fdf0c2 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 5.sql @@ -0,0 +1,5 @@ +--Query the two cities in STATION with the shortest and longest CITY names, as well as their respective lengths (i.e.: number of characters in the name). If there is more than one smallest or largest city, choose the one that comes first when ordered alphabetically. + +(SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) DESC, CITY ASC LIMIT 1) +UNION +(SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) ASC, CITY ASC LIMIT 1); diff --git a/HackerRank-SQL-main/Weather Observation Station 6.sql b/HackerRank-SQL-main/Weather Observation Station 6.sql new file mode 100644 index 00000000..8b24bc02 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 6.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '^[aeiou]+'; diff --git a/HackerRank-SQL-main/Weather Observation Station 7.sql b/HackerRank-SQL-main/Weather Observation Station 7.sql new file mode 100644 index 00000000..11a7d64b --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 7.sql @@ -0,0 +1,3 @@ +-- Query the list of CITY names ending with vowels (a, e, i, o, u) from STATION. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '[aeiou]$' ; diff --git a/HackerRank-SQL-main/Weather Observation Station 8.sql b/HackerRank-SQL-main/Weather Observation Station 8.sql new file mode 100644 index 00000000..94dc5b25 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 8.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names from STATION which have vowels (i.e., a, e, i, o, and u) as both their first and last characters. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '^[aeiou].+[aeiou]$' ; diff --git a/HackerRank-SQL-main/Weather Observation Station 9.sql b/HackerRank-SQL-main/Weather Observation Station 9.sql new file mode 100644 index 00000000..fa24ce54 --- /dev/null +++ b/HackerRank-SQL-main/Weather Observation Station 9.sql @@ -0,0 +1,3 @@ +--Query the list of CITY names from STATION that do not start with vowels. Your result cannot contain duplicates. + +SELECT DISTINCT(CITY) FROM STATION WHERE CITY REGEXP '^[^AEIOU]' ;