Problem:
The "key" array is an array containing the correct answers to an exam, like {"a", "a", "b", "b"}. the "answers" array contains a student's answers, with "?" representing a question left blank. The two arrays are not empty and are the same length. Return the score for this array of answers, giving +4 for each correct answer, -1 for each incorrect answer, and +0 for each blank answer.
scoreUp({"a", "a", "b", "b"}, {"a", "c", "b", "c"}) → 6
scoreUp({"a", "a", "b", "b"}, {"a", "a", "b", "c"}) → 11
scoreUp({"a", "a", "b", "b"}, {"a", "a", "b", "b"}) → 16
Solution:
public int scoreUp(String[] key, String[] answers) { int score = 0; for (int i = 0; i < key.length; i++) { if (key[i] == answers[i]) score += 4; else if (answers[i] != "?" && answers[i] != key[i]) score--; } return score; }
public int scoreUp(String[] key, String[] answers) {
ReplyDeleteint score = 0;
for( int x = 0; x < key.length; x++){
if (answers[x].equals(key[x])) score +=4;
else
if (!answers[x].equals("?")) score -=1;
}
return score;
}
public int scoreUp(String[] key, String[] answers) {
ReplyDeleteint res = 0;
for (int i = 0; i < key.length; i++) {
if (answers[i] != "?") {
if (key[i].equals(answers[i])) {
res += 4;
} else {
res--;
}
}
}
return res;
}
public int scoreUp(String[] key, String[] answers) {
ReplyDeleteint sum=0;
for (int i = 0; i < answers.length; i++) {
if(answers[i].charAt(0)!='?'){
if(key[i].charAt(0)==answers[i].charAt(0)){
sum+=4;
}
else sum-=1;
}
}
return sum;
}
Solution Using ternary operator:
ReplyDeletepublic int scoreUp(String[] key, String[] answers) {
int score = 0;
for(int i=0; i<answers.length; i++){
String tmp1 = key[i];
String tmp2 = answers[i];
//Using ternary operator for the solution
score = tmp2=="?" ? (score+0) : tmp1.equals(tmp2) ? (score+4) : (!(tmp1.equals(tmp2))) ? (score-1) : score;
}
return score;
}
public int scoreUp(String[] key, String[] answers) {
ReplyDeleteint count=0;
for(int i=0;i<key.length;i++){
if(answers[i]=="?"){
count=count+0;
}
else if(key[i]==answers[i]){
count=count+4;
}
else {
count=count-1;
}
}
return count;
}
public int scoreUp(String[] key, String[] answers) {
ReplyDeleteint score = 0;
for( int i = 0; i < key.length; i++){
if (Objects.equals(answers[i], key[i])) {
score +=4;
} else if (!Objects.equals(answers[i], "?")) {
score -=1;
}
}
return score;
}