Infosys Sample Online Test solution
Note: if you are reading code in mobile switch to landscape mode for better view
Solution:
import java.util.ArrayList;
import java.util.Scanner;
public class RPG {
static ArrayList<Integer> power = new ArrayList<>();
static ArrayList<Integer> monExp = new ArrayList<>();
static int exp;
public static void main(String[] args) {
System.out.println("Enter the number of monsters");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("enter initial experience");
exp = sc.nextInt();
System.out.println("enter monster power");
for(int i=0;i<n;i++)
{
power.add(sc.nextInt());
}
System.out.println("enter monster experience");
for(int i=0;i<n;i++)
{
monExp.add(sc.nextInt());
}
int previousNoOfMonsters = power.size();
int currentNoOfMonsters;
while(power.size()>0)
{
currentNoOfMonsters = game();
if(previousNoOfMonsters == currentNoOfMonsters)
{
break;
}
else
previousNoOfMonsters = currentNoOfMonsters;
}
if(power.size() ==0)
System.out.println(exp);
else
{
System.out.println("failed");
System.out.println("low experience :" + exp);
}
sc.close();
}
private static int game() {
int n = power.size();
for(int i=0;i<n;i++)
{
if(power.get(i) <= exp)
{
exp = exp + monExp.get(i);
power.remove(i);
monExp.remove(i);
n = n-1;
}
else
continue;
}
return power.size();
}
}
Tags
Test