JusPay Coding Questions and Answers
Coding Questions for Juspay
JusPay Coding Questions are available on this page. As Juspay is a dream company to many, it is important to understand the basic pattern and Juspay Coding Questions and Sample Mock Paper and Solutions Answers for 2024 batch. This page is based on the same and is stuffed with well-researched data. Go through the page to understand the pattern in more detail.
About JusPay Coding Questions Exam Pattern
If you are interested in JusPay recruitment then we have updated the latest patter here.. Go through the table for some information regarding the paper in Juspay recruitment.
Section Name | Total Questions | Time Limit |
---|---|---|
Aptitude | 30 Questions | 30 mins |
Online Coding | 3 Questions | 90 mins |
Total | 33 Questions | 120 mins |
Juspay Eligibility Criteria 2024
HCL | Requirements |
---|---|
Qualification | B.Tech |
Eligible YOP | Student pursuing their pre final or final year |
Percentage Criteria | Minimum 70% in class X and XII |
Backlog | No Active Backlog |
Juspay Aptitude Syllabus 2024
Detailed Information about Juspay Written Round Sections:-
Juspay Numerical Ability
- HCF and LCM
- Number System
- Time and Work, Pipes and Cisterns
- Permutation and Combination
Click on the button below to know more….
Additional Information:-
- Total Questions ~ 10
- Time Allotted ~ 10 mins
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Juspay Verbal English Syllabus 2024
Detailed Information about Juspay Written Round Sections:-
Juspay Verbal Ability
- Sentence Correction
- Preposition
- Grammar
Click on the button below to know more….
Additional Information:-
- Total Questions ~ 10
- Time Allotted ~ 10 mins
Juspay Reasoning Syllabus 2024
Detailed Information about Juspay Written Round Sections:-
Juspay Logical Reasoning
- Analogies
- Direction
- Blood Relations
- Critical Reasoning
Click on the button below to know more….
Additional Information:-
- Total Questions ~ 10
- Time Allotted ~ 10 mins
Juspay Coding Syllabus 2024
Detailed Information about Juspay Coding Round Sections:-
Juspay Coding Syllabus
- C
- C++
- Java
- Data Structure
Click on the button below to know more….
Additional Information:-
- Total Questions ~ 2
- Time Allotted ~ 60 mins
Practice Juspay Previous Year Coding Questions
Question 1: Stars Between Bars
Given a string s consisting of stars “*” and bars “|” ,an array of starting indices starIndex, and an array of ending indices endIndex, determine the number of stars between any two bars within the substrings between the two indices inclusive . NOTE that in this problem indexing starts at 0.
- A Star is represented as an asterisk [*=ascii decimal 42]
- A Bar is represented as a Pipe [“|”=ascii decimal 124]
Example
s=’|**|*|’
n = 2
startIndex=[0,0]
endIndex=[4,5]
- For the first pair of indices (0,4) the substrings is “|**|*” . There are 2 stars between a pair of bars
- For the second pair of indices (0,5) the substring is “|**|*|” and there are 2+1=3 stars in between the bars.
- Both of the answers are returned to the array [2,3].
Constraints
- 1 <= n <= 105
- 1 <= StartIndex[i] <= endIndex[i]
- Each Character of s is either “*” or “|”
Input Format for Custom testing
First line contains a string S. The next line contains an integer n , the no.of elements in startIndex and endIndex. Each line i of the n subsequent lines contains an integer of startIndex. Each line i of the n subsequent lines contains an integer of endindex.
Sample Input
*|*| → s=”*|*|”
1 → size of startindex[] and endIndex[] is 1.
0 → startindex = 0
2 → endindex = 2
Sample output:
0
Explanation :
The substring from index = 0 to index = 2 is “*|*” . there is no consecutive pair of bars in this string.
#include<iostream> #include<stack> #include<vector> #include<algorithm> using namespace std; int main() { string str; cin >> str; int n; cin >> n; vector<int> startIndex(n); vector<int> endIndex(n); for (int i = 0; i < n; i++) { cin >> startIndex[i]; } for (int i = 0; i < n; i++) { cin >> endIndex[i]; } int len = str.length(); vector<int> counter(len, -1); int count = 0; int lastIdx = -1; stack<int> st; for (int i = 0; i < len; i++) { char ch = str[i]; if (ch == '|') { while (!st.empty()) { int idx = st.top(); st.pop(); counter[idx] = i; } } st.push(i); } vector<int> ansArr(n); for (int i = 0; i < n; i++) { int sIndex = startIndex[i]; int eIndex = endIndex[i]; int sCount = 0; if (str[sIndex] != '|') sIndex = counter[sIndex]; if (sIndex == -1 || counter[sIndex] == -1) { ansArr[i] = 0; continue; } while (sIndex < eIndex) { int nextIdx = counter[sIndex]; if ((nextIdx != -1) && (nextIdx <= eIndex)) { sCount += nextIdx - sIndex - 1; } sIndex = nextIdx; } ansArr[i] = sCount; } for (int ele : ansArr) { cout << ele << " "; } cout << endl; return 0; }
import java.util.*; class Main { public static void main(String[] args) { Scanner scn = new Scanner(System.in); String str = scn.next(); int n = scn.nextInt(); int startIndex[] = new int[n]; int endIndex[] = new int[n]; for(int i = 0; i < n; i++) { startIndex[i] = scn.nextInt(); } for(int i = 0; i < n; i++) { endIndex[i] = scn.nextInt(); } int len = str.length(); int counter[] = new int[len]; int count = 0; int lastIdx = -1; Arrays.fill(counter, -1); Stack<Integer> st = new Stack<>(); for(int i = 0; i < len; i++) { char ch = str.charAt(i); if(ch == '|') { while(!st.empty()) { int idx = st.pop(); counter[idx] = i; } } st.push(i); } int ansArr[] = new int[n]; for(int i = 0; i < n; i++) { int sIndex = startIndex[i]; int eIndex = endIndex[i]; int sCount = 0; if(str.charAt(sIndex) != '|') sIndex = counter[sIndex]; if(sIndex == -1 || counter[sIndex] == -1) { ansArr[i] = 0; continue; } while(sIndex < eIndex) { int nextIdx = counter[sIndex]; if((nextIdx != -1) && (nextIdx <= eIndex)) { sCount += nextIdx - sIndex - 1; } sIndex = nextIdx; } ansArr[i] = sCount; } for(int ele : ansArr) { System.out.print(ele + " "); } } }
str = input() n = int(input()) startIndex = [] endIndex = [] for i in range(n): startIndex.append(int(input())) for i in range(n): endIndex.append(int(input())) len_str = len(str) counter = [-1] * len_str count = 0 lastIdx = -1 st = [] for i in range(len_str): ch = str[i] if ch == '|': while st: idx = st.pop() counter[idx] = i st.append(i) ansArr = [] for i in range(n): sIndex = startIndex[i] eIndex = endIndex[i] sCount = 0 if str[sIndex] != '|': sIndex = counter[sIndex] if sIndex == -1 or counter[sIndex] == -1: ansArr.append(0) continue while sIndex < eIndex: nextIdx = counter[sIndex] if nextIdx != -1 and nextIdx <= eIndex: sCount += nextIdx - sIndex - 1 sIndex = nextIdx ansArr.append(sCount) for ele in ansArr: print(ele, end=" ")
Question 2: Vampire Battle
Stephan is a vampire. And he is fighting with his brother Damon. Vampires get energy from human bloods, so they need to feed on human blood, killing the human beings. Stephan is also less inhuman, so he will like to take less life in his hand. Now all the people’s blood has some power, which increases the powers of the Vampire. Stephan just needs to be more powerful than Damon, killing the least human possible. Tell the total power Stephan will have after drinking the bloods before the battle.
Note : Damon is a beast, so no human being will be left after Damon drinks everyone’s blood. But Stephan always comes early in the town.
Input Format:
- First line with the number of people in the town, n.
- Second line with a string with n characters, denoting the one digit power in every blood.
Output Format:
Total minimum power Stephan will gather before the battle.
Constraints:
- 1 <= n <= 10^4
Sample input:
- 6
- 093212
Sample output
- 9
Explanation:
Stephan riches the town, drinks the blood with power 9. Now Damon cannot reach 9 by drinking all the other bloods.
#include <bits/stdc++.h> using namespace std; int main() { int n,sum=0,sum1=0; cin>>n; string s; cin>>s; sort(s.begin(),s.end(),greater<char>()); for(auto i:s) sum+=(i-'0'); for(auto i:s){ if(sum1>sum) break; sum1+=(i-'0'); sum-=i-'0'; } cout<<sum1; }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); String str=sc.next(); char arr[]=str.toCharArray(); int a[]=new int[arr.length]; for(int i=0;i<a.length;i++) a[i]=Integer.parseInt(arr[i]+""); Arrays.sort(a); int sum=0; for(int i=0;i<a.length;i++) sum=sum+a[i]; int sumA=0; int sumB=sum; ArrayList subsetA=new ArrayList(); for(int i=a.length-1;i>=0;i--) { sumA=sumA+a[i]; sumB=sumB-a[i]; subsetA.add(a[i]); if(sumA>sumB) break; } Iterator itr=subsetA.iterator(); while(itr.hasNext()) { System.out.print((Integer)itr.next()); } } }
n=int(input()) ar=input() sorted(ar,reverse=True) br=[] s=0 aa=[] for i in ar: aa.append(int(i)) su=sum(aa) while(s<=su): s+=(aa[0]) su=su-(aa[0]) br.append(aa.pop(0)) print(sum(br))
Question 3 : Duplicates
The principal has a problem with repetitions. Everytime someone sends the same email twice he becomes angry and starts yelling. His personal assistant filters the mails so that all the unique mails are sent only once, and if there is someone sending the same mail again and again, he deletes them. Write a program which will see the list of roll numbers of the student and find how many emails are to be deleted.
Input Format:
- First line takes n, which is the total no. of mails recieved.
- Second line takes the n no. of email id as input./li>
Output Format:
Total no. of duplicate email id’s to be deleted.
Constraints:
- 1 <= n <= 10^4
Sample input:
- 6
- 1 3 3 4 3 3
Sample output
- 3
#include<bits/stdc++.h> using namespace std; map<int,int> m; int main() { int n,a,ans=0; cin>>n; while(n--) { cin>>a; m[a]++; if(m[a]>1) ans++; } cout<<ans; }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); TreeSet list=new TreeSet<>(); for(int i=0;i<n;i++) list.add(sc.nextInt()); System.out.println(Math.abs(n-list.size())); } }
def countDuplicate(numbers): c=0 for i in set(numbers): if numbers.count(i)>1: c+=numbers.count(i)-1 return c n=int(input()) numbers=[] numbers = list(map(int, input().split())) print(countDuplicate(numbers))
Question 4 : Last student’s ID
There is an id code that is supposed to be given to all the aspirants of an exam. It is actually a substring of a given string. That means, the authority takes a string and then assigns all the unique substrings to all the students. Suppose there is a string “abcde”, so the ids of the students will be “a”, “ab”, ”abc”, ”abcd”, ”abcde”, ”b”, ”bc”, ”bcd”, ”bcde”, ”c”, ”cd”, ”cde”, ”d”, ”de”, ”e”.
The students are standing in a line according to the lexicographic order of their given ids. You have to find out the id of the last student for the given input string from which the ids are generated and then arranged in lexicographic order.
Input Format:
- Single line with the id generating string
Output format:
- The last id as per lexicographical order.
Constraints:
- Number of characters in the string<=10^9
Sample Input:
abdc
Sample output:
dc
Explanation:
The last student as per lexicographical order will be with the id dc. The lexicographical order for adbc will be :
a
ab
abd
abdc
b
bd
bdc
c
d
dc
#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; char c = s[0]; int j = 0; for(int i=1;i<s.length();i++) if(c<s[i]) {j=i;c=s[i];} cout<<s.substr(j,s.length()-j); }
import java.util.*; public class Main { public static String maxString(char set[]) { int n=set.length; String temp=""; TreeSet<String> list=new TreeSet<>(); for(int i=0;i<n;i++) { temp=""; for(int j=i;j<n;j++) { temp=temp+set[j]; list.add(temp); } } return list.last(); } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.next(); char arr[]=str.toCharArray(); System.out.println(maxString(arr)); } }
s=input() j=1 c=0 while j<len(s): if ord(s[c])<ord(s[j]): c=j j+=1 print(s[c:])
Question 5 : Coin Game
Raman was playing a game, he starts with x coins. Now in every step, he wins and loses and he has to get the money or pay the money as needed. He came in contact with a psychic who can see the future and the Psychic predicted the outcomes after each step. Now Raman wants to start the game with the minimum wage where he doesn’t run out of money. Help Raman to find what money he should start with. The only rule to keep playing is not going in a credit situation.
Input Format:
- First line with n, number of steps in the game
- Next n lines, n integers denoting outcomes of every game. Positive means winning and negative means losing that money.
Output Format:
- One single integer denoting the minimum amount to start with
Constraints:
- Number of steps<=10^9
- -1000<=Money needed in each step<=1000
Sample Input:
4
2
-9
15
2
Sample Output:
7
Explanation:
If he starts with 7 rupees, then after steps : 7 ->9 -> 0-> 15 -> 17.
#include<iostream> using namespace std; int main() { int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; int sum=0,ans=0; for(int i=0;i<n;i++) { sum+=a[i]; if(sum<1) { sum=-sum; ans+=sum; sum=0; } } cout<<ans<<endl; }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int arr[]=new int[n]; for(int i=0;i<n;i++) arr[i]=sc.nextInt(); int sum=0,ans=0; for(int i=0;i<n;i++) { sum+=arr[i]; if(sum<1) { sum=-sum; ans+=sum; sum=0; } } System.out.println(ans); } }
n=int(input()) arr=[] for i in range(n): arr.append(int(input())) s,a=0,0 for i in arr: s=s+i if(s<1): a=a+(-1*s) s=0 print(a)
Overall Analytics For Juspay
Total Questions
33
Total Time
120 Mins
Pattern
Non-Adaptive
Difficulty Level
Moderate to High
FAQs on Juspay Coding Questions with Solutions
Question 1: How many questions are asked in the Juspay recruitment exam?
Juspay recruitment exam has in total 33 questions asked in 120 minutes. This includes questions on aptitude and coding.
Question 2: How many coding questions are asked in the Juspay recruitment exam?
Three coding questions are asked in the Juspay recruitment exam.
Get over 200+ course One Subscription
Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others
#include
#include
typedef struct {
int x;
int y;
} Point;
double distance(Point p1, Point p2) {
return sqrt(pow(p2.x – p1.x, 2) + pow(p2.y – p1.y, 2));
}
int main() {
Point userLocation;
printf(“Enter your current location (x y): “);
scanf(“%d %d”, &userLocation.x, &userLocation.y);
// Define your array of meeting cell locations here
Point meetingCells[] = { /* Add meeting cell locations */ };
int numMeetingCells = sizeof(meetingCells) / sizeof(meetingCells[0]);
double minDistance = -1;
Point nearestCell;
for (int i = 0; i < numMeetingCells; i++) {
double d = distance(userLocation, meetingCells[i]);
if (minDistance == -1 || d < minDistance) {
minDistance = d;
nearestCell = meetingCells[i];
}
}
printf("Nearest meeting cell is at (%d, %d)\n", nearestCell.x, nearestCell.y);
return 0;
}