Coupa AI OA Experience 2026 | 1 Hour | Aptitude + 3 Coding Questions
Summary
I completed a 1 hour Coupa AI online assessment that included an aptitude section and three coding questions.
Full Experience
Coupa AI OA Experience 2026 | 1 Hour | Aptitude + 3 Coding Questions
I appeared for the Coupa AI Online Assessment yesterday. The total duration was 1 hour and the OA consisted of an aptitude section followed by 3 coding questions.
Sharing all the questions I remember so that it may help others preparing for Coupa.
OA Pattern
Total Duration: 60 minutes
Aptitude
- 8 Questions
- 15 Minutes
Coding
- 3 Coding Questions
- Remaining 45 Minutes
Aptitude Questions
Q1–Q2. Sentence Rearrangement
There were around 2 questions where 4 sentences were given:
1. ...
2. ...
3. ...
4. ...
We had to arrange them in the correct logical/sequential order.
Q3. Alphabet Value
Given:
Z = 26
JET = 61
Find the value of:
PLANE = ?
This was based on alphabet positions:
A = 1
B = 2
...
Z = 26
Q4. Operator Puzzle
Two custom operators P and R were used.
Something similar to:
13 P 3 R 1 = 40
25 R 15 P 15 = 250
Find:
12 P 15 R 20 = ?
We had to identify what operations P and R represented.
Q5. Data Interpretation
There were around 2–3 questions based on a graph.
These involved interpreting values/percentages/comparisons from the given graph.
Q6. Syllogism / Venn Diagram
Statements were similar to:
Some doctors are teachers.
No doctor is an actor.
Some teachers are actors.
We had to select the correct Venn diagram representing the statements.
Coding Questions
Coding Q1 – Strength of a Word
A string/word was given.
The strength of the word was calculated using the alphabet positions of its characters.
For example:
ABC
Alphabet positions:
A = 1
B = 2
C = 3
Therefore:
[ Strength = \frac{1+2+3}{3} ]
So:
Strength("ABC") = 2
This was a relatively straightforward string/math problem.
Topics
- Strings
- Character mapping
- Alphabet positions
- Basic arithmetic
Coding Q2 – Array Divisibility / Minimum Deletions
An array and an integer K was given.
One example I remember was approximately:
Array = [6, 9, 12, 16, 25]
K = 6
The question involved determining the number/minimum number of deletions required based on divisibility by K.
I don't remember the complete wording of this question clearly enough to reproduce the exact operation, but the basic concept involved:
- Array elements
- Divisibility
- Deletions
- A given number
K
If anyone appeared for the same OA and remembers the exact statement, please add it in the comments.
Coding Q3 – Partition Numeric String
A numeric string S, its length N, and an integer Y were given.
We had to split the string into the minimum number of contiguous parts such that the numeric value of every part was not greater than Y.
Test Case 1
S = "1234"
Y = 4
N = 4
The only valid partition is:
"1" | "2" | "3" | "4"
because:
12 > 4
23 > 4
34 > 4
Therefore:
Answer = 4
Test Case 2
S = "10101010101010"
Y = 100
N = 14
A valid minimum partition is:
"10" | "10" | "10" | "10" | "10" | "10" | "10"
Every substring has value:
10 <= 100
while:
101 > 100
Therefore:
Answer = 7
Closest LeetCode Match
This is very similar to:
LeetCode 2522 – Partition String Into Substrings With Values at Most K
The main difference was that the Coupa version appeared to allow 0 in the numeric string, so it seemed to be a modified version of LeetCode 2522.
Topics
- Greedy
- Strings
- Partitioning
- Number construction
- Integer bounds
The greedy idea is to keep adding digits to the current partition while its value remains <= Y.
If adding the next digit makes the value exceed Y, start a new partition.
Overall Experience
The OA was quite time-constrained because we had only 1 hour for both aptitude and coding.
The aptitude section had 8 questions in 15 minutes, so there was very little time to spend on a single question.
The coding section had 3 questions in roughly 45 minutes.
From what I remember, the coding difficulty was:
- Q1 – Easy
- Q2 – Easy/Medium
- Q3 – Easy/Medium once the greedy observation is understood
Topics I would recommend revising for Coupa OA:
- Strings
- Arrays
- Greedy
- Divisibility
- Character/ASCII manipulation
- Basic mathematics
- Numeric string manipulation
- Sentence rearrangement
- Syllogisms
- Data Interpretation
- Operator puzzles
The closest identifiable LeetCode problem from my OA was:
LeetCode 2522 – Partition String Into Substrings With Values at Most K
Interview Questions (2)
Strength of a Word
Given a string consisting of uppercase letters, compute the strength of the word defined as the average of the alphabet positions of its characters. For example, for "ABC", the positions are A=1, B=2, C=3, so the strength is (1+2+3)/3 = 2.
Partition Numeric String
Given a numeric string S of length N and an integer Y, split the string into the minimum number of contiguous substrings such that the integer value of each substring is less than or equal to Y. Return the minimum number of substrings. Example:\n\nTest Case 1:\nS = "1234", Y = 4 → partitions: "1"|"2"|"3"|"4" → answer 4.\n\nTest Case 2:\nS = "10101010101010", Y = 100 → partitions: "10"|"10"|"10"|"10"|"10"|"10"|"10" → answer 7.