Arama butonu
Bu konudaki kullanıcılar: 1 misafir
196
Cevap
12703
Tıklama
8
Öne Çıkarma
Cevap: Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları (7. sayfa)
S
6 yıl
Yüzbaşı

raw_input Python 2'de kaldı.. artık kullanma onu, seneye Python 2 diye birşey yok, bitti
https://pythonclock.org/



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

Laptop'ta path ayarlarıyla oynamıştım %PYTHON3% eklenmeden kaldığı için Python 2 kalmış :)



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @seyfi84
T
6 yıl
Yarbay
Konu Sahibi

2000'e dek yansıt sayıları bulunuz. Yansıt sayı örnekleri: 88 1221 3443 Görüldüğü gibi sayının yarısı öteki yarısını yansıtıyor.

Not: Basamak sayısı uzunluğu tek sayı olan Palindrom sayılar (örn: 131 11511) yansıt sayı değil.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:42:9 >

< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
6 yıl
Yüzbaşı

Python'da tek bir satir (tek list comprehension) ile çözdüm bunu, 10000'e kadar buluyor. Aşağılık kompleksine giren olursa göndermeyeyim, bu forumu aşıyor zira benim yazdıklarım.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

< Resime gitmek için tıklayın >
Raku ile tek satırlık çözüm. 1-2000 arası sayılardan grep ile önce ters dizilişi aynı olanları (Raku'da flip dizinin tersidir) sonra da basamak sayısı çift olanları filtreliyerek. Python cozumunu de görmek isteriz.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @seyfi84
S
6 yıl
Yüzbaşı

hmm, ben performanslı olsun diye numerik takıldım, seninki kadar kısa olmadı:
 
print([j for i in [(range(10,100),10),(range(1000,10000),100)] for j in i[0] if (lambda a,b: a == int(str(b)[::-1]))(*divmod(j,i[1]))])



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @vonderplanitz
S
6 yıl
Yüzbaşı

Bu da senin algoritmayi kullanarak çözüm, daha kısa:
 
print([i for i in range(1,2000) if len(str(i))%2 == 0 and str(i) == str(i)[::-1] ])



< Bu ileti mobil sürüm kullanılarak atıldı >

T
6 yıl
Yarbay
Konu Sahibi

2. versiyon hem çok daha pratik, hem net.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:43:39 >

< Bu ileti mini sürüm kullanılarak atıldı >

T
6 yıl
Yarbay
Konu Sahibi

3 liste var:
(a, b, c)
(d, e, f)
(g, h, i)

Bu 3 listenin transpozesini
(a, d, g)
(b, e, h)
(c, f, i)
yerleşik (Arapça: hazır) mat fonksiyon kullanmadan alınız.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:45:4 >

< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
M
6 yıl
Teğmen

A
6 yıl
Yarbay

Kod uzun falan değil
Transpoze un tanımının python da uygulanmış hali
Farklı diller frameworkler ile tek tuş ile de alınabilir

Raku ile yaptığınız şey daha kısa diye diğer koda uzun olmuş diyemezsiniz yani



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

Framework kullanılırsa doğal olarak tek tuşla transpoze alınabilir ancak soruda yerleşik belgelik/fonksiyon kullanmama koşulu var. Soruya baktınız mı?

Raku çözümüm, framework, belgelik, yerleşik fonksiyon içermiyor, yalnızca 22 karakter uzunluğunda. Arkadaşın Python çözümü ise yaklaşık 140 karakter uzunluğunda! Birkaç düzenleme ile o 100 karaktere inebilir ancak yine de uzun.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:49:13 >

< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @alimmm78
T
6 yıl
Yarbay
Konu Sahibi

Python çözümü gönderen arkadaş Raku çözümünün yalın formatını begenip mutluluk dileğini iletti sen bu kodun Assembly 'si neyoldur diyerek begenmiyorsun. Konu başlığı işlevsel cunku problem çözme yeteneklerini geliştiriyor. Problem çözme yeteneği gelişen kişi psikolojik açıdan da kolaylar.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:55:59 >

< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @ProjectMan
T
6 yıl
Yarbay
Konu Sahibi

Reddit'te geçen ay bir gönderi:https://www.reddit.com/r/learnprogramming/comments/e7ggyf/got_denied_from_internship_this_was_one_of/
Amerikadaki bir finans firmasında iş görüşmesinde böyle bir soru çıkmış (Türkçesi altta)

There is s that consists of digits from 0 to 9, and an integer k.
A substring s[L:R] (where 0 = L = R < sizeof(s) ) is a contiguous group of characters with s.
A substring is called a perfect substring if all of its elements occur exactly k times.

For example, s = 1102021222 and k = 2. Its 6 perfect substrings are:

s[0:1] = 11
s[0:5] = 110202
s[1:6] = 102021
s[2:5] = 0202
s[7:8] = 22
s[8:9] = 22


Verilen bir s dizesinde k sayısı ölçüsünde özdeş karakterleri içeren ardışık alt dizeleri (= perfect / kusursuz substring / altdize) bulunuz.
Mülakatta bu soruyla karşılaşan kişi, C++ ile çözmeye calıştım ancak uzun dizelerde çözüm zorlanıyor, de bunun gibi demiş. Yorumlarda en anlaşılır çözüm 20 sıralık Python kodu. Ancak o çözüm kusursuz alt dizelerin yalnızca toplam sayısını veriyor, kendilerini vermiyor, o sayede de 20 sıra.

Kusursuz altdizeleri veren de comment'ler dışında 20 SLOC (Single Lines Of Code) altında (dolayısıyla reddit'teki en açık de kısa çözümden daha kısa de net biçimde) bir kod ile soruyu çözünüz.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 11:58:56 >

< Bu ileti mini sürüm kullanılarak atıldı >

A
6 yıl
Yarbay

https://repl.it/repls/YellowOlivedrabDirectories veyahttps://paste.ubuntu.com/p/vQ7WRdz4MN/

string uzunluğu x 10 luk bir tabloda her string indexi için ondan baştan itibaren olan sayıları tekrar miktarını tuttum
sonra da ikili ikili olabilecek başlangıç ve bitiş noktalarına göre bu ikisinin farkını alıp eğer o farkların hepsi k 'nın katı ise bunu bastırmasını söyledim.

https://www.geeksforgeeks.org/prefix-sum-array-implementation-applications-competitive-programming/

prefix sum gibi bir şey kullanarak, i-j arasındaki farkı ver dediğimde versin istediğim için böyle bir şey yapmış oldum.

O ( n^2 ) veya O(n*k) ile çalışıyor şuanda, O(n*k) demek daha doğru galiba, tam emin olamadım
ama substringi bastırmanın da maliyeti varmış, bu sebeple O(n^2*k) oluyor sanırım



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

Çözüm yöntemi için 2 boyutlu bir dizi (preSumArr) oluşturup onun içinden altdizileri saydırmak iyi güzel ancak gereğinden çok karışık. comment'ler dışında 30+ SLOC saydım. Ayrıca comment'ler de eksik.

Reddit'teki şu çözümden daha kısa de net kod bekleniyor:

def perfectString(s,k,result):
for i in range(len(s)):
num_seen = 0
window = {}
for ind in range(i, len(s)):# Range 0 tabanlıdır
if not s[ind] in window: # ilk kez görüldü
num_seen += 1
window[s[ind]] = 1
else: # Zaten var
window[s[ind]] += 1 # arttır
if window[s[ind]] == k:
# 2 ye erişildiyse
num_seen -= 1
if num_seen == 0:# Ama window dizisi değişmez
result +=1 # Örneğin '211'
print(i)
print(window)
elif window[s[ind]] > k:
print(window)
break
return result
print(perfectString("2211",2,0)) # 1102021222





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 12:0:25 >

< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @alimmm78
T
5 yıl
Yarbay
Konu Sahibi

Python'da 20 sıra, C++'da 30 sıra kodla yapılan işi Raku'da 9 sıralık kodla çözdüm:)

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 12:1:22 >

< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @alimmm78
I
5 yıl
Binbaşı

250.000. asal sayıyı da tek satırda hesaplar mı bu


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
5 yıl
Yarbay
Konu Sahibi

Herkes I0SER mı olsun ? :)





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 12:1:54 >

< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @I0SER_b0y
A
5 yıl
Yarbay

Konuya yeni eklediğiniz soruların başına ilk mesajda ekleme tarihini yazarsanız gelecekte o soruyu konu içinde bulmak kolay olur

Şuan ilk sayfadaki 5. Sorunun yerini bulmam için detaylı bir tarama yapmak gerekiyor mesela



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.