A space explorer’s ship crashed on Mars! They send a series of SOS messages to Earth for help.
Letters in some of the SOS messages are altered by cosmic radiation during transmission. Given the signal received by Earth as a string,s , determine how many letters of the SOS message have been changed by radiation.
Example
s=’SOSTOT’
The original message was SOSSOS. Two of the message’s characters were changed in transit.
Function Description
Complete the marsExploration function in the editor below.
marsExploration has the following parameter(s):
- string s: the string as received on Earth
Returns
- int: the number of letters changed during transmission
Input Format
There is one line of input: a single string,s .
Constraints
- 1<=length of s <=99
- Length of s modulo 3 = 0
- s will contain only uppercase English letters, ascii[A-Z].
Sample Input 0
SOSSPSSQSSOR
Sample Output 0
3
Explanation 0
s = SOSSPSSQSSOR,|s|=12 and signal length . They sent 4 SOS messages (i.e.:12/3=4 ). Expected signal: SOSSOSSOSSOS Recieved signal: SOSSPSSQSSOR Difference: X X X
Sample Input 1
SOSSOT
Sample Output 1
1
Explanation 1
s = SOSSOT, and signal length |S| = 6. They sent 2 SOS messages (i.e.:6/3=2 ). Expected Signal: SOSSOS Received Signal: SOSSOT Difference: X
Sample Input 2
SOSSOSSOS
Sample Output 2
0
Explanation 2
Since no character is altered, return 0.
Mars Exploration HackerRank Solution in C
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main(){
char* S = (char *)malloc(10240 * sizeof(char));
scanf("%s",S);
int i;
int count=0;
for(i=0;S[i]!='\0';i+=3){
if(S[i]!='S'){
count++;
}
if(S[i+1]!='O'){
count++;
}
if(S[i+2]!='S'){
count++;
}
}
printf("%d",count);
return 0;
}
Mars Exploration HackerRank Solution in C++
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <queue>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cstring>
#include <cctype>
#include <cassert>
#include <limits>
#include <functional>
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i))
#define reu(i,l,u) for(int (i)=(int)(l);(i)<(int)(u);++(i))
#if defined(_MSC_VER) || __cplusplus > 199711L
#define aut(r,v) auto r = (v)
#else
#define aut(r,v) __typeof(v) r = (v)
#endif
#define each(it,o) for(aut(it, (o).begin()); it != (o).end(); ++ it)
#define all(o) (o).begin(), (o).end()
#define pb(x) push_back(x)
#define mp(x,y) make_pair((x),(y))
#define mset(m,v) memset(m,v,sizeof(m))
#define INF 0x3f3f3f3f
#define INFL 0x3f3f3f3f3f3f3f3fLL
using namespace std;
typedef vector<int> vi; typedef pair<int, int> pii; typedef vector<pair<int, int> > vpii; typedef long long ll;
template<typename T, typename U> inline void amin(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> inline void amax(T &x, U y) { if(x < y) x = y; }
int main() {
string S;
while(cin >> S) {
int ans = 0;
rep(i, S.size())
ans += S[i] != "SOS"[i % 3];
printf("%d\n", ans);
}
return 0;
}
Mars Exploration HackerRank Solution in Java
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String S = in.next();
int numChanged = 0;
for(int i = 0; i < S.length(); i++)
{
if(i % 3 == 1)
{
if(S.charAt(i) != 'O')
{
numChanged++;
}
}
else
{
if(S.charAt(i) != 'S')
{
numChanged++;
}
}
}
System.out.println(numChanged);
}
}
Mars Exploration HackerRank Solution in Python
S = raw_input().strip()
print len(S) - S[::3].count('S') - S[1::3].count('O') - S[2::3].count('S')
Mars Exploration HackerRank Solution in C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Solution {
static void Main(String[] args) {
string s = Console.ReadLine().Trim();
int changedLetters = 0;
for (int i = 0; i < s.Length; i += 3) {
if (s[i] != 'S') { changedLetters++; }
if (s[i+1] != 'O') { changedLetters++; }
if (s[i+2] != 'S') { changedLetters++; }
}
Console.WriteLine(changedLetters);
}
}
Attempt Mars Exploration HackerRank Challenge
Link – https://www.hackerrank.com/challenges/mars-exploration
Next HackerRank Challenge Solution
Link – https://exploringbits.com/running-time-of-algorithms-hackerrank-solution/
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.