# IBM Coding Questions and Answers 2023 (FAQ): Important Topics, Expected Q/A, & More

## IBM Coding Questions and Answers 2023 | IBM Coding Questions With Answers PDF | IBM Coding Questions | IBM Expected Coding Questions | IBM Frequently Asked Coding Questions | IBM Actual Coding Questions

### Topics to Prepare for the IBM Coding Round Questions

The IBM Coding Challenge consists primarily of problems involving data structures and algorithms.

You should expect inquiries on the following subjects in data structures:

• Arrays
• Stacks
• Queues
• Trees
• Graphs
• Heaps
• Hash Sets
• Hash Maps

You can expect questions about the following topics in Algorithms:

• Depth-First Search
• Binary Search
• Quicksort
• Merge Sort
• Dynamic Programming
• Divide and Conquer

### How to Prepare for IBM Coding Questions

• Choose an Object-Oriented Programming Language: Master the fundamentals of an object-oriented programming language such as Python, Java, or C++. Practice preparing programs in this language and becoming familiar with its quirks.
• Understand the Fundamentals: Learn the fundamentals of data structures and algorithms in depth. You don’t want to waste time at the last minute Googling how to perform a deep copy. Learn the fundamentals and keep practicing. Complete as many past IBM code tasks as you can.
• Spend Time Problem-Solving: Coding challenges are not for the faint of heart. It takes hours to solve them. Follow this technique when practicing: first, understand the problem description, and then consider how to approach it.

### IBM Coding Questions For Experienced

• Write a program to find the middle element of a singly linked list in one pass.
• Write a program to find the fourth node from the end in a singly linked list.
• Write a program to find the length of a singly linked list.
• Write a program to implement a binary search tree.
• Write a program to perform in-order traversal in a given binary tree.
• Write a program to implement a postorder traversal algorithm.
• Write a program to implement an LRU Cache.
• Write a program to remove the Nth node from the end of a linked list.
• Write a program to find duplicate characters in a given string.
• Write a program to convert byte array to string.

### IBM Coding Questions For Freshers

Q) Write a program to print next to the last word of a sentence.

Output:

Q) Write a program to remove the vowels from the input string.

Output:

Q) Write a program to convert uppercase to lowercase and vice versa of a given string or sentence

Output:

Q) Write a program to reverse the string?

Output:

Q) Write a program to print the desired character from a string or search a char in a string.

Input: What is your name (Searching a)

Output:

Q) Write a program to transform strings of lowercase alphabet characters by replacing each letter
with the subsequent character in the english alphabet.

Input: hello

Q) Write a program to count number of vowels and consonants in a string.

Input: NA

Output: NA

Q) Write a program to Convert a String to Camel Case.

Hint: In camel case, we capitalise the first letter of each word.

Input: hello world

Output :

Q) Write a program to convert a String to a Sentence Case.

Hint: In sentence case, the first letter of each sentence is capitalized.

Input: NA

Output: NA

Q) Write a program to convert the String to its toggle form.

Input: NA

Output: NA

Q) Write a program to find string is palindrom or not.

Input: NA

Output: NA

Q) Write a program to print a desired character from string

Input: NA

Output: NA

Q) Write a program to enter a string then print the longest String in java string array.

Input: NA

Output: NA

### IBM Coding Questions and Answers 2023

What is the Output of the program

```#include
Using namespace std;
int main()
{
char*ptr;
Char Str[]="abcdefg";
ptr=Str;
ptr+=5;
cout<<ptr;
return 0;
}```
• fg
• cdef
• defg
• abcd

Solution: B

What is the Output of the program

```include
Using namespace std;
int main()
{
Char arr[20];
int i;
for(i=0;i<10;i++)
*(arr+i)=65 +1;
*(arr+i)=0;
cout<<arr;
return(o);
}```
• ABCDEFGHIJ
• AAAAAAAAAA
• JJJJJJJJ
• None of the above

Solution: A

What is the Output of the program

```include
Using namespace std;
int main()
{
int a=5,b=10,c=15;
int*arr[]={&a,&b,&c};
cout<<arr[1];
return 0;
}```
• 5
• 10
• 15
• It will print their address of variable b.

Indexing always start from 0 so arr[1] will print second element in the list therefore & stores the addresss of that particular variable so arr[i] will print the address of variable b.

Questions: One of the first lessons IT students learn is the representation of natural numbers in the binary number system (base 2) This system uses only two digits, 0 and 1. In everyday life we use for convenience the decimal system (base 10) which uses ten digits, from 0 to 9. In general, we could use any numbering system.

Computer scientists often use systems based on 8 or 16. The numbering system based on K uses K digits with a value from 0 to K-1. Suppose a natural number M is given, written in the decimal system To convert it to the corresponding writing in the system based on K, we successively divide M by K until we reach a quotient that is less than K

The representation of M in the system based on K is formed by the final quotient (as first digit) and is followed by the remainder of the previous divisionsFor example :

•  If M=122 and K=8, 122 in base 10= 172 in base 8 This means that the number
• In decimal system = 172 in octal system.
• 172 in base 8 = 1*8^2 + 7*8 + 2 = 122

You made the following observation in applying the above rule of converting natural numbers to another numbering system

•  In some cases in the new representation all the digits of the number are the same. For example 63 in base 10= 333 in base 4

Given a number M in its decimal representation, your task is find the minimum base B such that in the representation of M at base B all digits are the same.

Input Format

• The first line contains an integer, M, denoting the number given

Constraints

• 1 <= M = 10^12

Sample Input 1 :

41

Sample Output 1 :

40

Explanation :

Here 41 in base 40. will be 11 so it has all digits the same, and there is no smaller base satisfying the requirements

Sample Input 2 :

34430

Sample Output 2 :

312

Explanation :

Here 34430 in base 312 will have all digits the same and there is no smaller base satisfying the requirements

### Example Programs:

JAVA PROGRAM

```import java.util.*;
class Main
{
public static boolean convertBase (int m, int base)
{

int rem = m % base;
m = m / base;

while (m >= base && (m % base == rem))
m = m / base;

if (m == rem)
return true;

return false;
}

public static void main (String[]args)
{
Scanner sc = new Scanner (System.in);
int m = sc.nextInt ();
int base = 2;

while (convertBase (m, base) != true)
base++;

System.out.println (base);

}

}```

C++ PROGRAM

```#include<bits/stdc++.h>
using namespace std;

bool converted (int M, int base)
{
int rem = M % base;
M /= base;

while (M >= base)
{
if (M % base != rem)
return 0;

M /= base;
}

if (M == rem)
return 1;

return 0;
}

int main ()
{
int M;
cin >> M;

int base = 2;

while (converted (M, base) != 1)
{
base++;
}

cout << base;

return 0;
}```

Questions: While playing an RPG game, you were assigned to complete one of the hardest quests in this game. There are monsters you’ll need to defeat in this quest. Each monster is described with two integer numbers – poweri and bonusi. To defeat this monster, you’ll need at least poweri experience points. If you try fighting this monster without having enough experience points, you lose immediately. You will also gain bonusi experience points if you defeat this monster. You can defeat monsters in any order.

The quest turned out to be very hard – you try to defeat the monsters but keep losing repeatedly. Your friend told you that this quest is impossible to complete. Knowing that, you’re interested, what is the maximum possible number of monsters you can defeat?

Input:

• The first line contains an integer, n, denoting the number of monsters. The next line contains an integer, e, denoting your initial experience.
• Each line i of the n subsequent lines (where 0 ≤ i < n) contains an integer, poweri, which represents power of the corresponding monster.
• Each line i of the n subsequent lines (where 0 ≤ i < n) contains an integer, bonusi, which represents bonus for defeating the corresponding monster.

Output

• 2

### Example Programs:

JAVA PROGRAM

```import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

class Main
{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int exp = s.nextInt();

int monst[] = new int[n];
int bonus[] = new int[n];

for (int i = 0; i < n; i++) {
monst[i] = s.nextInt();
}
for (int i = 0; i < n; i++) {
bonus[i] = s.nextInt();
}

class Monster {
private final int power, bonus;
public Monster(int power, int bonus){
this.power = power;
this.bonus = bonus;
}
}

Monster[] monsters = new Monster[n];

for(int i = 0; i < n; i++)
monsters[i] = new Monster(monst[i], bonus[i]);

Arrays.sort(monsters, Comparator.comparingInt(m -> m.power));

int count = 0;

for(Monster m: monsters){
if(exp < m.power) break;
exp += m.bonus;
++count;
}
System.out.println(count);
}
}
```
```n = int(input())
lev = int(input())
p = []
b = []
a = []
ans = 0
for i in range(n):
p.append(int(input()))
for j in range(n):
b.append(int(input()))
for k in range(n):
a.append([p[k], b[k]])
a.sort()
for z in a:
if z[0] > lev:
break
lev += z[1]
ans += 1
print(ans)```

***BEST OFF LUCK***

Cracking upcoming exams is not that difficult if you work hard. Naukrimessenger.com will help you to do so. Join our Telegram channel page now with the direct link provided on our homepage to get guidance and stay on the right track of preparation. You will also get other features that will help you. To avail of exclusive job offers, join our Telegram Channel page now!