Accenture Interview Question for Consultants


Country: United States




Comment hidden because of low score. Click to expand.
1
of 1 vote

public class MinMaxSum {

	public int[] calculateMinMaxSum(int numOne, int numTwo) {
		int[] result = new int[2];
		result[0] = calculateMinMaxSumValues(numOne, 6, 5) + calculateMinMaxSumValues(numTwo, 6, 5);
		result[1] = calculateMinMaxSumValues(numOne, 5, 6) + calculateMinMaxSumValues(numTwo, 5, 6);
		return result;
	}
	
	private int calculateMinMaxSumValues(int number, int compare, int replace) {
		int result = 0;
		int multiply = 1;
		
		while(number % 10 > 0) {
			int reminder = number % 10;
			if(reminder == compare) {
				result = result + replace * multiply;
			} else {
				result = result + reminder * multiply;
			}
			multiply *= 10;
			number = number / 10;
		}
		return result;
	}		
}

- srammer January 02, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
1
of 1 vote

module.exports = function (n, m) {
	var N = n.toString()
	var M = m.toString()
	// generate mins
	var minN, minM, maxN, maxM
	minN = minM = maxN = maxM = ''
	for (var i = 0; i < N.length; ++i) {
		var char = N.charAt(i)
		if (char === '6') {
			char = '5'
		}
		minN += char
	}
	for (i = 0; i < M.length; ++i) {
		char = M.charAt(i)
		if (char === '6') {
			char = '5'
		}
		minM += char
	}

	//generate maxes
	for (var i = 0; i < N.length; ++i) {
		var char = N.charAt(i)
		if (char === '5') {
			char = '6'
		}
		maxN += char
	}
	for (i = 0; i < M.length; ++i) {
		char = M.charAt(i)
		if (char === '5') {
			char = '6'
		}
		maxM += char
	}
	minN = parseInt(minN, 10)
	minM = parseInt(minM, 10)
	maxN = parseInt(maxN, 10)
	maxM = parseInt(maxM, 10)
	console.log(n, m, minN, minM, maxN, maxM)
	return {
		min: minN + minM,
		max: maxN + maxM
	}
}

var ans = module.exports(645, 666)
console.log(ans)

- srterpe January 04, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
1
of 1 vote

Don't think we have a python solution yet. This is a bit clunky, but it does the job. Forgetting to take negative numbers into account is probably a common mistake.

import math

def min_sum(a, b):
    a = minimize(a)
    b = minimize(b)
    return a + b

def max_sum(a, b):
    a = -minimize(-a)
    b = -minimize(-b)    
    return a + b

def minimize(val):
    pos = val >= 0
    ans = 0
    sval = str(abs(val))
    
    for x, i in zip(map(int, sval), range(len(sval))):
        if pos and x == 6:
            ans += 5 * int(math.pow(10, len(sval) - i - 1))
        elif not pos and x == 5:
            ans += 6 * int(math.pow(10, len(sval) - i - 1))
        else:
            ans += x * int(math.pow(10, len(sval) -i - 1))

    if pos:
        return ans
    else:
        return -ans

- albin.severinson January 05, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

The above solution isn't totally correct. To fix it change the while loop header to:

while (number > 0)

- Berkeley January 02, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

function getModifiedNumber(input, target, replace) {
var str = input.toString();
var regex = new RegExp(target.toString(), 'gi');
var result = Number(str.replace(regex, replace.toString()));
return result;
}

function getSum(num1, num2) {
var result = {
min : getModifiedNumber(num1, 6, 5) + getModifiedNumber(num2, 6, 5),
max : getModifiedNumber(num1, 5, 6) + getModifiedNumber(num2, 5, 6)
}

return result;
}

console.log( getSum(645, 666) );

- King. Joffrey January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

{{
function getModifiedNumber(input, target, replace) {
var str = input.toString();
var regex = new RegExp(target.toString(), 'gi');
var result = Number(str.replace(regex, replace.toString()));
}

function getSum(num1, num2) {
var result = {
min : getModifiedNumber(num1, 6, 5) + getModifiedNumber(num2, 6, 5),
max : getModifiedNumber(num1, 5, 6) + getModifiedNumber(num2, 5, 6)
}

return result;
}

console.log(getSum(645, 666));
}}

- King. Joffrey January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

df

- King. Joffrey January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

int replaceNumber(int number, int compare, int replace ){
int result = 0;
int multiply = 1;
while( number ){
int rem = number%10;
if(rem == compare ){
result += (replace*multiply);
}else{
result += (rem*multiply);
}
multiply *=10;
number = number/10;
}
return result;
}

vector<int> getMinMaxSum(int number1, int number2 ){
vector<int> minMax;
int replacedNum1 = replaceNumber(number1, 5, 6 );
int replacedNum2 = replaceNumber(number2, 5, 6 );
minMax.push_back(replacedNum1+replacedNum2);

replacedNum1 = replaceNumber(number1, 6, 5 );
replacedNum2 = replaceNumber(number2, 6, 5 );
minMax.push_back(replacedNum1+replacedNum2);
return minMax;
}

- Virendra Agrawal January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

class CMinMaxSum{
public:
int replaceNumber(int number, int compare, int replace ){
int result = 0;
int multiply = 1;
while( number ){
int rem = number%10;
if(rem == compare ){
result += (replace*multiply);
}else{
result += (rem*multiply);
}
multiply *=10;
number = number/10;
}
return result;
}

vector<int> getMinMaxSum(int number1, int number2 ){
vector<int> minMax;
int replacedNum1 = replaceNumber(number1, 5, 6 );
int replacedNum2 = replaceNumber(number2, 5, 6 );
minMax.push_back(replacedNum1+replacedNum2);

replacedNum1 = replaceNumber(number1, 6, 5 );
replacedNum2 = replaceNumber(number2, 6, 5 );
minMax.push_back(replacedNum1+replacedNum2);
return minMax;
}
};

- Virendra Agrawal January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

class CMinMaxSum{
public:
int replaceNumber(int number, int compare, int replace ){
int result = 0;
int multiply = 1;
while( number ){
int rem = number%10;
if(rem == compare ){
result += (replace*multiply);
}else{
result += (rem*multiply);
}
multiply *=10;
number = number/10;
}
return result;
}
vector<int> getMinMaxSum(int number1, int number2 ){
vector<int> minMax;
int replacedNum1 = replaceNumber(number1, 5, 6 );
int replacedNum2 = replaceNumber(number2, 5, 6 );
minMax.push_back(replacedNum1+replacedNum2);

replacedNum1 = replaceNumber(number1, 6, 5 );
replacedNum2 = replaceNumber(number2, 6, 5 );
minMax.push_back(replacedNum1+replacedNum2);
return minMax;
}
};

- Virendra Agrawal January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

class CMinMaxSum{
public:
int replaceNumber(int number, int compare, int replace ){
int result = 0;
int multiply = 1;
while( number ){
int rem = number%10;
if(rem == compare ){
result += (replace*multiply);
}else{
result += (rem*multiply);
}
multiply *=10;
number = number/10;
}
return result;
}
vector<int> getMinMaxSum(int number1, int number2 ){
vector<int> minMax;
int replacedNum1 = replaceNumber(number1, 5, 6 );
int replacedNum2 = replaceNumber(number2, 5, 6 );
minMax.push_back(replacedNum1+replacedNum2);
replacedNum1 = replaceNumber(number1, 6, 5 );
replacedNum2 = replaceNumber(number2, 6, 5 );
minMax.push_back(replacedNum1+replacedNum2);
return minMax;
}
};

- Virendra Agrawal January 03, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

def max(n):
    n_str = str(n)
    ln = []
    for i in n_str:
        if i == '5':
            ln.append('6')
            continue
        ln.append(i)
    max_str = ''.join(ln)
    return int(max_str)

def min(n):
    n_str = str(n)
    ln = []
    for i in n_str:
        if i == '6':
            ln.append('5')
            continue
        ln.append(i)
    min_str = ''.join(ln)
    return int(min_str)

def main(n, m):
    print('%s + %s = %s' % (n, m, n + m))
    print('%s + %s = %s' % (min(n), min(m), min(n) + min(m)))
    print('%s + %s = %s' % (max(n), max(m), max(n) + max(m)))

- Leo Luan January 08, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

{ int number1 = 645;
int number2 = 666;

var min = Convert.ToInt32(number1.ToString().Replace("6", "5")) + Convert.ToInt32(number2.ToString().Replace("6", "5"));
var max = Convert.ToInt32(number1.ToString().Replace("5", "6")) + Convert.ToInt32(number2.ToString().Replace("5", "6"));
}

- Mustafa August 13, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

{{
int number1 = 645;
int number2 = 666;

var min = Convert.ToInt32(number1.ToString().Replace("6", "5")) + Convert.ToInt32(number2.ToString().Replace("6", "5"));
var max = Convert.ToInt32(number1.ToString().Replace("5", "6")) + Convert.ToInt32(number2.ToString().Replace("5", "6"));
}}

- Mustafa August 13, 2017 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

s=input()
t=input()
n=len(s)
m=len(t)
for i in range(0,n):
if(s[i]=="6"):
a=s.replace("6","5")
elif(s[i]=="5"):
c=s.replace("5","6")
else:
i+=1
for i in range(0,m):
if(t[i]=="6"):
b=t.replace("6","5")
elif(t[i]=="5"):
d=t.replace("5","6")
else:
i+=1
print (int(a)+int(b))
print (int(c)+int(d))

- SK August 13, 2019 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 vote

s=input()
t=input()
n=len(s)
m=len(t)
for i in range(0,n):
if(s[i]=="6"):
a=s.replace("6","5")
elif(s[i]=="5"):
c=s.replace("5","6")
else:
i+=1
for i in range(0,m):
if(t[i]=="6"):
b=t.replace("6","5")
elif(t[i]=="5"):
d=t.replace("5","6")
else:
i+=1
print (int(a)+int(b))
print (int(c)+int(d))

- SK August 13, 2019 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More