Episode 11 Mock Interview, Ruangguru Live Coding.
Вставка
- Опубліковано 20 жов 2024
- Wondering Ruangguru Live Coding interview ? Just Check this Podcast out!
Interviewer : Himang (Senior Backend Engineering)
Candidate : Pahlevi Auliya F (Engineering Manager)
Interested to Join us
career.ruanggu...
Pengalaman berbicara, ngga cuma nge solve code tapi tetep clean juga code nya. Happy path
Keren, cuma agak kurang jelas aja mas text editor nya pas share screen :)
Sepintas lihat codenya ini masih terlalu slow. Dibagian "in pairs.keys()" di python ini akan buat jadi list of keys dan kemudian mencari didalam list. So basicly it's nested loop. Seharusnya "if c in pairs", that will be much faster.
Live coding test selalu bjkin keder, kadang kita udh tau solving nya,tapi di tengah jlan suka ga fokus karena keder
owh, jadi di running-nya di IDE kita sendiri ya
soal umum di hackerrank 😂
next berarti system design ya? keren (y)
Fe dan be sama aja soalnya min?
aku dulu mock interview ruang guru tapi code ny gaboleh di compile
Kelanjutannya gimana mas kalo boleh tau? Nunggu kabar selanjutnya berapa hari ya?
itu emang gak di compile codenya kalo pake python soalnya python interpreted
join challenge slur!
adding more difficulties by adding bracket stratification.
level 1 { } (highest)
level 2 [ ]
level 3 ( ) (lowest)
this new solution validates the bracket level first and continue check bracket pair.
def solution(a):
open=0
s=list(a)
lv={
'{':{'v':1,'w':0},
'}':{'v':1,'w':1},
'[':{'v':2,'w':0},
']':{'v':2,'w':1},
'(':{'v':3,'w':0},
')':{'v':3,'w':1},
}
open={1:0,2:0,3:0}
#level validation
currlv=-1
for e in s[:int(len(s)/2)]:
level=lv[e]['v']
if level=currlv:
currlv=level
#pair validation
open={1:0,2:0,3:0}
for e in s:
level=lv[e]['v']
pos=lv[e]['w']
if pos==0:
open[level]+=1
else:
open[level]-=1
return all([v==0 for v in open.values()])
if __name__=="__main__":
l={
'{[()]}':True,
'{[(]}':False,
'[{()}]':False,
'{(())}':True,
'{([])}':False,
'{((]}':False,
'[{()()}]':False,
'[{())(()}]':False
}
for k,v in l.items():
ans=solution(k)
print(f'Input:{k} Answer:{ans}. Test passed:{ans==v}')
# Will print
# Input:{[()]} Answer:True. Test passed:True
# Input:{[(]} Answer:False. Test passed:True
# Input:[{()}] Answer:False. Test passed:True
# Input:{(())} Answer:True. Test passed:True
# Input:{([])} Answer:False. Test passed:True
# Input:{((]} Answer:False. Test passed:True
# Input:[{()()}] Answer:False. Test passed:True
# Input:[{())(()}] Answer:False. Test passed:True