@@kevinobuya6013 Hi there I want to pass this coding and I am really working hard please can you give this question so will practice and will be able to clear it
@@shubhamkashyap3762i agree with this. But it’s kinda ambiguous if the char at the i position is a letter and the character at the j position isn’t. I’m sure we ignore the j position but the for the i position should we move on or try to reverse it with the next non letter j position
I failed the challenge too, I felt my first question didn't give me enough information or explanation to solve it, so I by passed and solved the second challenge in less than 5 minutes. Even though I failed the challenge, the tiring profile opened for me. Am just going to fill the profile while waiting for a response
how would i solve this? get an array or string of the input string that’s are only letters and reverse it. loop through the original input. if input[i] !== “-“. add the last element of the reverse string or array to the result or output str. else; all “-“
i think you can just add these string characters reversely into array and then just convert it into string .This is an easy method let str='ab-cd' let newStr=[] for (let i = 0, j = str.length - 1; i < str.length; i++, j--) { newStr[j] = str[i]; } // Convert the array back to a string newStr = newStr.join(''); console.log(newStr)
Haha I applied for data science and gave the test but then coding round I got so irritated bec I didnot understand where to write code and all despite instruction got frustrated and just wrote 4 lines and closed it. First time ig I will remember this when I practice coding everytime
Very good coders fail these tests all the time because of anxiety, unclear questions or just a poor editor like the one on Turing. It does not mean you are stupid. First time I did one I was so angry because I’m a frontend dev and did not expect to be asked to write someone stupid palindrome algo lol 😂 A better way to test is to ask to solve common problems you will encounter as a developer.
I agree with you. I have a computer science degree and I work as a frontend too. I've practiced a lot of algorithms and data structures problems since I've been in university but it still hard to take a problem like the second one if you have not been practicing recently. Also it is not correlated for a frontend position.
@@bozzistef also at current job I sometimes get stuck on the problem even without time pressure. For example with some weird css someone left me to figure out. Doesn't mean I'm stupid. Eventually I solve it and get better.
I thought I was the only one with this same opinion. I’ve been a front end for four years now and I was thinking I was the only stupid front end developer that couldn’t write those algos seamlessly.
I passed those, but when i tried the "practical nodejs challenge" I failed because the question was written in such a way that it was hard to understand what the person tried to say. "the product_list payload contains a few parameters and all should be validated, and throws TypeError / RangeError / InvalidInputError to the caller if anything does not meet the specification" What exception type for what type of error? Was the function supposed to return a "product_list" ? Why, if it's asking for a single product to be "validated"? Insanely bad
Yeah, sounds like fun. I guess you have to get used to those tests to get comfortable. Or just work at some company where humans lead the interview right from the start
@@pratikgohil7821hey bro, I also passed the coding challenge but failed the Node.js practical challenge, the question was very confusing. I do not want to complete my profile yet until I am through with all practical challenges, what is the next step after completing the practical challenge?
@@pratikgohil7821 I just aced their first coding interview round a hour ago, man it was a pain. stage 1: submit CV stage 2: - they asked some bunch of stupid shit questions about JavaScript and Python. - Python questions are even more painful, it asked you about the lib asyncio, thread, single thread, tests, etc. But 20/30 questions are about thread already and god it was so so painful. - JavaScript, somehow lucky to pass. stage 3: - 2 leetcode problems, they required you to write document after you finished your solutions. - the first problem is around easy-medium (for me because I solved around 250 leetcode problems so far). - the second problem is easy honestly GOD! Their IDE was so shitty, if you accidentally make an infinite loop, the compiler will just stuck. You can't even allow to use VIM because they don't have that option yet. But I heard they are scammer, so not really care if I passed or not.
Wow. You did a good job. The only thing I think you missed was you used an array sort method instead of an array reverse method, on the array with only letters. Anyways. I never would have solved this honestly. 😂
Seems 2 problem-solving coding challenges, as long as pass one, it will be passed. I've failed the coding challenge for a TDD assignment, 2 reasons, my bad, first face TDD assignment, 2nd I like testing after I coding sth, but the system seems slow but the time is flys. So finally, I fail.
Bit long but works I think? solution for 1 : const letters = [] const temp = input.map((n) => { if(a letter(regex filter)){ letters.push(n) return "x" } return n }) const resLetters = letters.reverse() const currentLetterIndex = 0 const result = temp.map((n) => { let value = n if("x" === n){ value = resLetters[currentLetterIndex) ++ currentLetterIndex } return value }
My solution would have been to remove the non letters and store them in a hash map with their indexes Then reverse the string and reinsert them using splice()
You could just do this if you want to make it step by step easy, reverse the string, and loop Trough the first string and if its a letter replace its index with the reverse string index.
@AlamKhan-yt9wd yea but in tests like this, you just want to pass, in real you could further improve on your algo, would waste time trying to optimize
Can anyone confirm that Turing is a legit way to find jobs? I passed a coding challenge and a few tech stack tests, but failed the practical challenge because their IDE is utterly slow and lacks autocomplete. And I'm also starting to doubt about the quality of this service - first of all, it's kind of silly that they advertise about "U.S. companies" jobs like every developer on the planet dreams to work for a USA company, secondly their quizzes are just some low quality garbage written by a junior dev, and moreover the questions often have nothing to do with the technology itself but rather with some popular 3rd-party library. Also, UA-cam is full of positive reviews published on their own channel instead of reviews from real people. that's what bugs me as well.
Not sure they are Sennheiser something. My cable eventually broke and I could not find replacement here in Turkey. So I put them somewhere and can't see the model now.
No it was not hidden. I just didn't see it at first. Because I took training test a couple of weeks ago so I completely forgot where to look for console output
def reverse_letters_only(S): letters = [c for c in S if c.isalpha()] reversed_letters = letters[::-1] result = [c if not c.isalpha() else reversed_letters.pop(0) for c in S] return ''.join(result)
In my case: post a video of a failure ) although couple of years ago I passed similar test for toptal.com site and the next step was one more similar test, but online via a zoom call. I didn't pass that one, so I don't know what are steps beyond that.
this is my simple solution for first problem, i don't know why we have to use such complex regex like that: string input = "a-bC-dEf=ghlj!!"; string alphabets = ""; for (int i = input.length() - 1; i >= 0; i--) { if (isalpha(input[i])) { alphabets += input[i]; } } int j = 0; for (int i = 0; i < input.length(); i++) { if (isalpha(input[i])) { input[i] = alphabets[j++]; } } problem 2 is also simple too, just some basic recursive
Yeah like I said: don't try to copy paste code - might screw up template. 2. Warm up - make sure you've been programming recently and remember basics. 3. Get to know where debug output goes ) 4. Make a lot of debug output to avoid stupid mistakes. 5. Make sure you fully understood the task. 6. Test resulting code against as many border cases as possible
@@AlamKhan-yt9wd I don't think there is anything valuable left to share... Although I went through quite a lot of interviews and also screwed up a bunch of them. But all the advice I possibly could give on those - are already covered on UA-cam extensively. I think the best advice there is to take every interview you can - gain experience on passing them
@@IgorKravets81 I tried the practice challenge, the question was not difficult, but when I try to run tests, it failed and it showed errors some places but I never understand why. I would prefer using IDE. I mean the get method of an arraylist yielded an error. There were many errros. it was very sad so I am hesitating to start the code challenge.
hey i have written python test on turing there was two questions i solved the 2nd question but when i try to solve the first question i mean when i try to run the 1st code it says like "something went wrong while running test please try again after sometime" thereafter when i again logged in my turing account i saw my application got failed :( i dont understand what to do
O(n) solution without any unnecessary if conditions (Increases the readability) let s = "Aa-D--dEe"; let frontPtr = -1; let backPtr = s.length; let outPutArr = []; for(let i = 0; i < s.length/2 ; i++) { let frontCharacter = s.charAt(++frontPtr); let backCharacter = s.charAt(--backPtr); while(!(/[a-zA-Z]/).test(frontCharacter)) { outPutArr[frontPtr] = frontCharacter; frontCharacter = s.charAt(++frontPtr); } while(!(/[a-zA-Z]/).test(backCharacter)) { outPutArr[backPtr] = backCharacter; backCharacter = s.charAt(--backPtr); } outPutArr[frontPtr] = backCharacter; outPutArr[backPtr] = frontCharacter; } let result = outPutArr.join(""); return result;
def rev(str): n = len(str) chk = lambda s: ord("z") >= ord(s) >= ord("A") p1, p2 = 0, n-1 str = list(str) while p1 < p2: if chk(str[p1]) and chk(str[p2]): t = str[p1] str[p1] = str[p2] str[p2] = t p1 += 1 p2 -= 1 else: if not chk(str[p1]): p1 +=1 if not chk(str[p2]): p2 -= 1 return "".join(c for c in str)
def reverse_only_letters(string): letters = [i for i in string if i.isalpha()] letters.reverse() ans = '' idx = 0 for i in string: if i.isalpha(): ans += letters[idx] idx += 1 else: ans += i return ans
l = "Ip-09hb==:''opm" l = list(l) al = [] sym = [] for i in range(len(l)-1,-1,-1): if l[i].isalpha() ==True: al.append(l[i]) else: sym.append([i,l[i]]) for j,k in reversed(sym): al.insert(j,k) print(" ".join(l).replace(" ","")) print(" ".join(al).replace(" ",""))
iam junior i just ask chat gpt ,asnwwer use push and pop is leter and other just push as the position : function reverseOnlyLetters(S) { // Extract letters from the string let letters = S.split('').filter(char => /[a-zA-Z]/.test(char)); // Initialize an array to store the final result let result = []; // Traverse the original string for (let i = 0; i < S.length; i++) { // If the character is a letter, pop from the reversed letters array if (/[a-zA-Z]/.test(S[i])) { result.push(letters.pop()); } else { // If not a letter, keep the original character result.push(S[i]); } } // Join the result array into a string and return return result.join(''); } // Test cases console.log(reverseOnlyLetters("ab-cd")); // Output: "dc-ba" console.log(reverseOnlyLetters("a-bC-dEf=ghIj!!")); // Output: "j-Ih-gfE=dCba!!
Not many developers have the courage to show their failures. Thanks Brother
@@honorebarera8171 thanks 🙏
I love the fact that you had the courage to open a real test, I am also in the Coding Challenge Phase too, I am just inspired. Good work Sir
I have done the coding challenges more than ten times and have passed, with different emails.
@@kevinobuya6013same question every time ?
@@kevinobuya6013 are you hired right now?
@@kevinobuya6013 do you teach as well ? i want to pass as well,
@@kevinobuya6013 Hi there I want to pass this coding and I am really working hard please can you give this question so will practice and will be able to clear it
Best solution with O(n) would be two pointer technique and sliding window..for Problem one..but taking real test live was really great
function reverseOnlyLetters(s: string): string {
let result: string[] = s.split("")
let currPoint1Index = 0
let currPoint2Index = s.length - 1
while (currPoint1Index < currPoint2Index) {
if (!/^[a-zA-Z]$/.test(s[currPoint1Index])) {
currPoint1Index += 1
} else if (!/^[a-zA-Z]$/.test(s[currPoint2Index])) {
currPoint2Index -= 1
} else {
const temp = result[currPoint1Index]
result[currPoint1Index] = result[currPoint2Index]
result[currPoint2Index] = temp
currPoint1Index += 1
currPoint2Index -= 1
}
}
return result.join("")
}
Thanks for the hint
@@shubhamkashyap3762i agree with this. But it’s kinda ambiguous if the char at the i position is a letter and the character at the j position isn’t. I’m sure we ignore the j position but the for the i position should we move on or try to reverse it with the next non letter j position
Respect for going live with this, very nice. Keep it up.
Thanks!
@@IgorKravets81 Have you passed the test now? You got job through Turing?
It was really fun. Anger, depression, hate and hope all in one video. Good luck next time :)
Your courage is much appreciated 👍🏼.
I failed the challenge too, I felt my first question didn't give me enough information or explanation to solve it, so I by passed and solved the second challenge in less than 5 minutes. Even though I failed the challenge, the tiring profile opened for me. Am just going to fill the profile while waiting for a response
So what happened, did you make it?
Thank you sir! I appriciate your effort. I learned a lot!
how would i solve this?
get an array or string of the input string that’s are only letters and reverse it.
loop through the original input.
if input[i] !== “-“. add the last element of the reverse string or array to the result or output str. else; all “-“
Thank you for posting this! I also made the mistake of underestimating it and just going in without any practice for months.
Next time will be much easier!
so its not a rush? ive been getting emails from turing encouraging me to take test? because it think its better to practice for a while for me too ..
You're sincere and I appreciate that.
29:00 "Yeah I am not gonna make it in two minutes" cracked me up lmao but thanks for the video tho
Yo vi tu video ahora, y te agradezco mucho por compartir este sensacional video 🚀🚀🚀
Im glad it helped somehow ) thanks!
i think you can just add these string characters reversely into array and then just convert it into string .This is an easy method
let str='ab-cd'
let newStr=[]
for (let i = 0, j = str.length - 1; i < str.length; i++, j--) {
newStr[j] = str[i];
}
// Convert the array back to a string
newStr = newStr.join('');
console.log(newStr)
this works only for this test case
Thanks for sharing! I really needed it.
you can not copy and paste in the turing editor.. something important to note
Thanks 😂😂
disable javascript, copy and paste, enable javascript
you will i guess have to reload the page when you disable JS@@kravetzpm
Haha I applied for data science and gave the test but then coding round I got so irritated bec I didnot understand where to write code and all despite instruction got frustrated and just wrote 4 lines and closed it. First time ig I will remember this when I practice coding everytime
Very good coders fail these tests all the time because of anxiety, unclear questions or just a poor editor like the one on Turing. It does not mean you are stupid.
First time I did one I was so angry because I’m a frontend dev and did not expect to be asked to write someone stupid palindrome algo lol 😂
A better way to test is to ask to solve common problems you will encounter as a developer.
I agree with you. I have a computer science degree and I work as a frontend too. I've practiced a lot of algorithms and data structures problems since I've been in university but it still hard to take a problem like the second one if you have not been practicing recently. Also it is not correlated for a frontend position.
@@bozzistef also at current job I sometimes get stuck on the problem even without time pressure. For example with some weird css someone left me to figure out. Doesn't mean I'm stupid. Eventually I solve it and get better.
I thought I was the only one with this same opinion. I’ve been a front end for four years now and I was thinking I was the only stupid front end developer that couldn’t write those algos seamlessly.
The answer for me was use ascii of every number and ascii str1 - ascii str2 and you will find the letrero and convert to letter
How about using character.isLetter() (in java) method to check alphabets and reversing the String?
I passed those, but when i tried the "practical nodejs challenge" I failed because the question was written in such a way that it was hard to understand what the person tried to say.
"the product_list payload contains a few parameters and all should be validated, and throws TypeError / RangeError / InvalidInputError to the caller if anything does not meet the specification"
What exception type for what type of error? Was the function supposed to return a "product_list" ? Why, if it's asking for a single product to be "validated"?
Insanely bad
Yeah, sounds like fun. I guess you have to get used to those tests to get comfortable. Or just work at some company where humans lead the interview right from the start
did you manage to complete the practical challenge?
i faced the same problem, I could not understand the question.
@@pratikgohil7821 nope. I deleted my account on turing as well.
@@pratikgohil7821hey bro, I also passed the coding challenge but failed the Node.js practical challenge, the question was very confusing. I do not want to complete my profile yet until I am through with all practical challenges, what is the next step after completing the practical challenge?
@@pratikgohil7821 I just aced their first coding interview round a hour ago, man it was a pain.
stage 1: submit CV
stage 2:
- they asked some bunch of stupid shit questions about JavaScript and Python.
- Python questions are even more painful, it asked you about the lib asyncio, thread, single thread, tests, etc. But 20/30 questions are about thread already and god it was so so painful.
- JavaScript, somehow lucky to pass.
stage 3:
- 2 leetcode problems, they required you to write document after you finished your solutions.
- the first problem is around easy-medium (for me because I solved around 250 leetcode problems so far).
- the second problem is easy honestly
GOD! Their IDE was so shitty, if you accidentally make an infinite loop, the compiler will just stuck. You can't even allow to use VIM because they don't have that option yet. But I heard they are scammer, so not really care if I passed or not.
What why they are not monitoring the test? What if someone uses chatgpt
Reverse position all the letters in the string but keep position of special characters the same.
Wow. You did a good job. The only thing I think you missed was you used an array sort method instead of an array reverse method, on the array with only letters.
Anyways. I never would have solved this honestly. 😂
Just need two pointer and check variables for each pointer, right?
The first question was all about two pointers.
You did your best bro! I have been in that scope before
Thanks. Still I should have been more prepared )
@@IgorKravets81 Of course especially in time management
@@IgorKravets81 I have a question dear friend and that question is do they ask you to open the camera? how can i prepare for it?
@@DavidTheWiseOne No they did not ask for the camera, at least when I took the test...
Use 2 pointers approach to solve the problem and make sure to check if the current character is an Alphabet
Seems 2 problem-solving coding challenges, as long as pass one, it will be passed. I've failed the coding challenge for a TDD assignment, 2 reasons, my bad, first face TDD assignment, 2nd I like testing after I coding sth, but the system seems slow but the time is flys. So finally, I fail.
Bit long but works I think?
solution for 1 :
const letters = []
const temp = input.map((n) => {
if(a letter(regex filter)){
letters.push(n)
return "x"
}
return n
})
const resLetters = letters.reverse()
const currentLetterIndex = 0
const result = temp.map((n) => {
let value = n
if("x" === n){
value = resLetters[currentLetterIndex)
++ currentLetterIndex
}
return value
}
That would be simple for me, left and right pointers and skipping characters.
test =(str)=> {
return str.split("").reverse().join().replaceAll(',',"");
}
let res = test("ab-cd");
console.log(res)
doesn't work
My solution would have been to remove the non letters and store them in a hash map with their indexes
Then reverse the string and reinsert them using splice()
You could just do this if you want to make it step by step easy, reverse the string, and loop Trough the first string and if its a letter replace its index with the reverse string index.
Also what im thinking
But insert using splice() take O(N) time.
So, ultimately, it becomes O(N^2)
@AlamKhan-yt9wd yea but in tests like this, you just want to pass, in real you could further improve on your algo, would waste time trying to optimize
Can anyone confirm that Turing is a legit way to find jobs? I passed a coding challenge and a few tech stack tests, but failed the practical challenge because their IDE is utterly slow and lacks autocomplete.
And I'm also starting to doubt about the quality of this service - first of all, it's kind of silly that they advertise about "U.S. companies" jobs like every developer on the planet dreams to work for a USA company, secondly their quizzes are just some low quality garbage written by a junior dev, and moreover the questions often have nothing to do with the technology itself but rather with some popular 3rd-party library.
Also, UA-cam is full of positive reviews published on their own channel instead of reviews from real people. that's what bugs me as well.
We're legit!! Can't wait to have you
@@millennyfeng9502 nah, you can't have cause I'm from a banned country
it's legit but passing the tests may be completely ignored by them. Best way is likely getting into contact with some from there to have real chances.
@@rekcahY Like even after passing all the rounds , do we have to nudge them for reminder? How was your experience can you share. Thanks
Thanks for sharing bro.
I'm glad it is somehow useful! Thanks
You did well bro.
Thanks ) ☺️
Brave man than 90 percent ty
Couldny u juat copy the question in to chat gpt
strange question to ask but are you using the akg k240 headphones?
Not sure they are Sennheiser something. My cable eventually broke and I could not find replacement here in Turkey. So I put them somewhere and can't see the model now.
the environment is very weird... the output is kind of hidden
I have thesame concerns. It thing it’s unnecessarily complicated. Did you get to retake it ?
No it was not hidden. I just didn't see it at first. Because I took training test a couple of weeks ago so I completely forgot where to look for console output
@@adeyvincent3570 no I did not retake it yet. I got employed by conventional old style way by applying to particular company
In coding test what they ask basically?
Are you allowed to switch tabs in turing tests? Isn't your screen recorded?
Can you tell me what further goes after passing skill assessment ?
def reverse_letters_only(S):
letters = [c for c in S if c.isalpha()]
reversed_letters = letters[::-1]
result = [c if not c.isalpha() else reversed_letters.pop(0) for c in S]
return ''.join(result)
How many rounds are there before they hire you? Also is the process same for all tech stacks
@@rahul_spawar I can't tell since I did not pass ) usually next goes online audition - kinda same task, but while on zoom
Wait, are we allow to google the answers?
Isn't whatever your are logging in console there in result section?
Yes I just couldn't find it )
Very nice video.
After completion of coding challenge what is the next step?
In my case: post a video of a failure ) although couple of years ago I passed similar test for toptal.com site and the next step was one more similar test, but online via a zoom call. I didn't pass that one, so I don't know what are steps beyond that.
thanks man
Not working
Are you allowed to google during the test?
I should hope so. Although I noticed the page seemed to react to switching tabs. Possibly it was taking notice on distractions.
@@IgorKravets81 true.. I think it is monitored
It's possible but you only have 30 minutes for two problems. I don't think that's good time management. That's why you have to master DSA.
You did well
Thank you for your support!
Is it allowed to google during test ?
I'm not sure if it is forbidden. But you could switch to another window during the process. Maybe it is logged somehow though
This env is not confortable at all. Explanation needs constrains too. The challange here is keep your stress out😅
this is my simple solution for first problem, i don't know why we have to use such complex regex like that:
string input = "a-bC-dEf=ghlj!!";
string alphabets = "";
for (int i = input.length() - 1; i >= 0; i--) {
if (isalpha(input[i])) {
alphabets += input[i];
}
}
int j = 0;
for (int i = 0; i < input.length(); i++) {
if (isalpha(input[i])) {
input[i] = alphabets[j++];
}
}
problem 2 is also simple too, just some basic recursive
Informative
I'm going to take it , any advice?
Yeah like I said: don't try to copy paste code - might screw up template. 2. Warm up - make sure you've been programming recently and remember basics. 3. Get to know where debug output goes ) 4. Make a lot of debug output to avoid stupid mistakes. 5. Make sure you fully understood the task. 6. Test resulting code against as many border cases as possible
and film it )
@@IgorKravets81 do they require filming a video passing the test ?
Did you take another try??
Not yet. I got a fulltime job at a company
@IgorKravets81 very nice. Could you make a video about your current status/job role/update
@@AlamKhan-yt9wd I don't think there is anything valuable left to share... Although I went through quite a lot of interviews and also screwed up a bunch of them. But all the advice I possibly could give on those - are already covered on UA-cam extensively. I think the best advice there is to take every interview you can - gain experience on passing them
@@IgorKravets81 I tried the practice challenge, the question was not difficult, but when I try to run tests, it failed and it showed errors some places but I never understand why. I would prefer using IDE. I mean the get method of an arraylist yielded an error. There were many errros. it was very sad so I am hesitating to start the code challenge.
bro this turing bootcamp is free?
very easy problem. two pointers
lion igor ..
Zapyataya? Eto po angliski?
Net :)
has anyone written the python test on turing?
Not me, sorry
hey i have written python test on turing there was two questions i solved the 2nd question but when i try to solve the first question i mean when i try to run the 1st code it says like "something went wrong while running test please try again after sometime" thereafter when i again logged in my turing account i saw my application got failed :( i dont understand what to do
24:23 леттерс равно с сплит ахаххахаа
for the second problem
class Node{
constructor(data,left=null,right=null){
this.left = left;
this.right = right;
this.data = data
}
}
class BST{
constructor(){
this.root = null;
}
findMax() { // function to return the max height
let current = this.root;
while (current.right !== null) {
current = current.right;
}
return current.data;
}
add(data){ //function to add new nodes
const node = this.root;
if(node === null){
this.root = new Node(data);
return;
}
const searchTree = function(node){
if(data < node.data){
if(node.left === null){
node.left = new Node(data)
return
}else if(node.left != null){
return searchTree(node.left)
}else if(data > node.data){
if(node.right ===null){
node.right = new Node(data)
return;
}
}else if(node.right !=null){
return searchTree(node.right)
}
}else{
return null
}
};
return searchTree(node);
}
}
const bst = new BST();
bst.add(3);
bst.add(9);
bst.add(20);
bst.add(null);
bst.add(null);
bst.add(15);
bst.add(7);
console.log(bst.findMax());
// output : 3
How many questions does this have?
I think there are two. Frankly I don't know )
@@IgorKravets81 okay, that's not too bad!
Then how many test do you have to take?
bfs on the second one
Do you get another chance to clear the test?
Yes, after several months. I don't remember how much now. I think it is shown at the end of the video
yes, after 3 months
@@elimusa6764 Thats cold
bruuuh 💀
O(n) solution without any unnecessary if conditions (Increases the readability)
let s = "Aa-D--dEe";
let frontPtr = -1;
let backPtr = s.length;
let outPutArr = [];
for(let i = 0; i < s.length/2 ; i++)
{
let frontCharacter = s.charAt(++frontPtr);
let backCharacter = s.charAt(--backPtr);
while(!(/[a-zA-Z]/).test(frontCharacter))
{
outPutArr[frontPtr] = frontCharacter;
frontCharacter = s.charAt(++frontPtr);
}
while(!(/[a-zA-Z]/).test(backCharacter))
{
outPutArr[backPtr] = backCharacter;
backCharacter = s.charAt(--backPtr);
}
outPutArr[frontPtr] = backCharacter;
outPutArr[backPtr] = frontCharacter;
}
let result = outPutArr.join("");
return result;
def rev(str):
n = len(str)
chk = lambda s: ord("z") >= ord(s) >= ord("A")
p1, p2 = 0, n-1
str = list(str)
while p1 < p2:
if chk(str[p1]) and chk(str[p2]):
t = str[p1]
str[p1] = str[p2]
str[p2] = t
p1 += 1
p2 -= 1
else:
if not chk(str[p1]):
p1 +=1
if not chk(str[p2]):
p2 -= 1
return "".join(c for c in str)
def reverse_only_letters(string):
letters = [i for i in string if i.isalpha()]
letters.reverse()
ans = ''
idx = 0
for i in string:
if i.isalpha():
ans += letters[idx]
idx += 1
else:
ans += i
return ans
l = "Ip-09hb==:''opm"
l = list(l)
al = []
sym = []
for i in range(len(l)-1,-1,-1):
if l[i].isalpha() ==True:
al.append(l[i])
else:
sym.append([i,l[i]])
for j,k in reversed(sym):
al.insert(j,k)
print(" ".join(l).replace(" ",""))
print(" ".join(al).replace(" ",""))
iam junior i just ask chat gpt ,asnwwer use push and pop is leter and other just push as the position :
function reverseOnlyLetters(S) {
// Extract letters from the string
let letters = S.split('').filter(char => /[a-zA-Z]/.test(char));
// Initialize an array to store the final result
let result = [];
// Traverse the original string
for (let i = 0; i < S.length; i++) {
// If the character is a letter, pop from the reversed letters array
if (/[a-zA-Z]/.test(S[i])) {
result.push(letters.pop());
} else {
// If not a letter, keep the original character
result.push(S[i]);
}
}
// Join the result array into a string and return
return result.join('');
}
// Test cases
console.log(reverseOnlyLetters("ab-cd")); // Output: "dc-ba"
console.log(reverseOnlyLetters("a-bC-dEf=ghIj!!")); // Output: "j-Ih-gfE=dCba!!