<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[KodlarTR - Günün Kod Sorusu]]></title>
		<link>https://kodlar.tr/</link>
		<description><![CDATA[KodlarTR - https://kodlar.tr]]></description>
		<pubDate>Fri, 15 May 2026 11:26:35 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Kod Çözücülerin İlacı mı, Zehri mi? Yazılımcıların Kod Sorusu İkilemi]]></title>
			<link>https://kodlar.tr/konu-kod%C2%A0cozuculerin%C2%A0ilaci%C2%A0mi-%C2%A0zehri%C2%A0mi-%C2%A0yazilimcilarin%C2%A0kod%C2%A0sorusu%C2%A0ikilemi.html</link>
			<pubDate>Thu, 10 Jul 2025 09:42:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=3">Gets</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-kod%C2%A0cozuculerin%C2%A0ilaci%C2%A0mi-%C2%A0zehri%C2%A0mi-%C2%A0yazilimcilarin%C2%A0kod%C2%A0sorusu%C2%A0ikilemi.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Kod Çözücülerin İlacı mı, Zehri mi? Yazılımcıların Kod Sprusu İkilemi</span><br />
<br />
Günümüzün hızlı tempolu yazılım geliştirme dünyasında, yazılımcılar karmaşık projeler, dar zaman dilimleri ve sürekli gelişen teknolojilerle mücadele ediyor. Bu zorlu ortamda, "kod sprusu" olarak bilinen kısa, hızlı ve etkili çözümler, birçok yazılımcı için vazgeçilmez bir araç haline geldi. Ancak bu pratik yaklaşım gerçekten verimliliği artırıyor mu, yoksa uzun vadede kod kalitesini tehlikeye atan bir alışkanlık mı yaratıyor? Bu makalede, kod sprusunun ne anlama geldiğini, faydalarını ve potansiyel tuzaklarını, ne zaman kullanılması gerektiğini ve uzun vadeli sonuçlarını ayrıntılı olarak inceleyeceğiz.<br />
Kod Sprusu Nedir? Anlık Çözümlerin Kısa Tanımı<br />
"Kod sprusu" terimi, genellikle acil bir sorunu çözmek veya hızlı bir şekilde bir özellik işlevsel hale getirmek için tasarlanmış kısa, kullanışlı ve doğrudan çözüme yönelik kod parçalarını ifade eder. Bu kodlar genellikle mevcut kod tabanına eklenebilir veya bağımsız olarak yürütülebilir. Kod sprusları, tekrarlayan görevleri basitleştirmek, hata ayıklama sürecini hızlandırmak veya belirli bir sorunu hızla ele almak için harikadır. Ayrıntılı tasarım ve uzun vadeli sürdürülebilirlik endişeleri yerine, genellikle anlık ihtiyaçları karşılamaya odaklanır. Bir kod sprusu, basit bir script, tek satırlık bir komut, bir fonksiyon veya hatta birkaç satırlık bir kod bloğu olabilir. Önemli olan, hızlı bir şekilde yazılması, kolayca anlaşılabilir olması ve sorunu etkili bir şekilde çözmesidir. Örneğin, bir veritabanı sorgusunu hızlandırmak için yazılan bir indeksleme scripti, bir log dosyasını ayrıştırmak için kullanılan bir regex ifadesi veya bir API endpoint'i için yazılan hızlı bir veri doğrulama fonksiyonu birer kod sprusu örneği teşkil edebilir.<br />
Kod Sprusunun Faydaları: Çeviklik ve Verimlilik Artışı<br />
Kod sprusunun en belirgin avantajı, şüphesiz hızlı çözümler sunmasıdır. Özellikle acil bir durumla karşı karşıya kalındığında veya kısa sürede bir özelliğin tamamlanması gerektiğinde, kod sprusları pratik bir çözüm sunar. Bu hızlı, çözüm odaklı yaklaşım, verimliliği önemli ölçüde artırabilir ve yazılımcıların zamandan tasarruf etmesini sağlayabilir. *   **Acil Durum Kurtarıcısı:** Ani hataların neden olduğu acil durumlarda, hızlı bir kod sprusu sorunu geçici olarak çözebilir ve daha uzun vadeli bir çözüm için zaman yaratabilir. *   **Tekrarlayan İşlemleri Otomatikleştirme:** Manuel olarak yapılması zaman alan ve hata riski taşıyan tekrarlayan görevler, kod sprusları ile otomatikleştirilebilir. Bu da yazılımcıların daha karmaşık ve yaratıcı işlere odaklanmasını sağlar. *   **Hızlı Prototiplendirme:** Yeni bir özellik veya uygulamanın prototipini oluştururken, kod sprusları hızla fikirleri test etme ve doğrulama olanağı sunar. *   **Deney Alanı:** Farklı programlama dillerini veya kütüphaneleri incelerken, küçük kod sprusları yazarak deneyler yapmak ve yeni kavramları kavramak daha kolay hale gelir.<br />
Kod Sprusunun Karanlık Yüzü: Teknik Borç ve Kalıcılık Sorunları<br />
Kod sprusunun hızlı ve pratik çözümler sunmasının yanı sıra, potansiyel dezavantajları da vardır. Özellikle kontrolsüz bir şekilde kullanıldığında, teknik borç yaratabilir, kod kalitesini düşürebilir ve uzun vadede sürdürülebilirlik sorunlarına neden olabilir. *   **Teknik Borç Yaratımı:** Aceleyle yazılan ve tamamen test edilmeyen kod sprusları, gelecekte çözülmesi gereken teknik borca yol açabilir. *   **Düşük Kod Kalitesi:** Kod sprusları, genellikle standart kodlama uygulamalarına uymayan, anlaşılması zor ve bakımı zor olan karmaşık kodlar olabilir. *   **Güvenlik Zafiyetleri:** Hızla yazılan ve güvenlik sorunlarına karşı yeterince test edilmeyen kod sprusları, uygulamalarda güvenlik riskleri oluşturabilir. *   **Sürdürülebilirlik Sorunları:** Kod sprusları, genellikle iyi belgelenmemiş ve uzun vadeli kullanım için tasarlanmamış olduğundan, uygulamanın genel sürdürülebilirliğini olumsuz etkileyebilir.<br />
Ne Zaman Kod Sprusuna Başvurmalı? Doğru Zamanı Belirleme<br />
Kod sprusu her zaman kötü bir şey değildir. Doğru zamanda ve doğru şekilde kullanıldığında, değerli bir araç olabilir. Ancak, ne zaman kod sprusu kullanılması gerektiğine dikkat etmek önemlidir. *   **Acil Durumlarda Hızlı Müdahale:** Kritik bir hata oluştuğunda ve hızlı bir çözüme ihtiyaç duyulduğunda, kod sprusu geçici bir çözüm sağlayabilir. *   **Basit ve Tekrarlayan Görevlerde Otomasyon:** Tekrarlayan, basit görevleri otomatikleştirmek için kod sprusları idealdir. *   **Hızlı Prototiplendirme Aşamalarında Test ve Doğrulama:** Bir fikri hızlıca test etmek ve doğrulamak için kod sprusları kullanılabilir. *   **Öğrenme Sürecinde Pratik Uygulama:** Yeni bir dili veya kütüphaneyi öğrenirken, küçük kod sprusları yazarak pratik yapmak faydalıdır. Ancak, büyük projelerde, kritik sistemlerde veya uzun vadeli sürdürülebilirlik gerektiren durumlarda, kod sprusu kullanımından kaçınmak ve daha kapsamlı, planlı ve iyi test edilmiş çözümler üretmek daha doğru olacaktır. Özetle, kod sprusu doğru kullanıldığında değerli bir araç olabilirken, kontrolsüz kullanımı teknik borca, düşük kod kalitesine ve sürdürülebilirlik sorunlarına yol açabilir. Yazılımcıların, kod sprusunun avantajlarını ve dezavantajlarını iyi anlaması ve ne zaman kullanılması gerektiğine bilinçli bir şekilde karar vermesi, hem verimliliklerini artırmalarına hem de uzun vadede sürdürülebilir ve kaliteli kodlar üretmelerine yardımcı olacaktır.]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Kod Çözücülerin İlacı mı, Zehri mi? Yazılımcıların Kod Sprusu İkilemi</span><br />
<br />
Günümüzün hızlı tempolu yazılım geliştirme dünyasında, yazılımcılar karmaşık projeler, dar zaman dilimleri ve sürekli gelişen teknolojilerle mücadele ediyor. Bu zorlu ortamda, "kod sprusu" olarak bilinen kısa, hızlı ve etkili çözümler, birçok yazılımcı için vazgeçilmez bir araç haline geldi. Ancak bu pratik yaklaşım gerçekten verimliliği artırıyor mu, yoksa uzun vadede kod kalitesini tehlikeye atan bir alışkanlık mı yaratıyor? Bu makalede, kod sprusunun ne anlama geldiğini, faydalarını ve potansiyel tuzaklarını, ne zaman kullanılması gerektiğini ve uzun vadeli sonuçlarını ayrıntılı olarak inceleyeceğiz.<br />
Kod Sprusu Nedir? Anlık Çözümlerin Kısa Tanımı<br />
"Kod sprusu" terimi, genellikle acil bir sorunu çözmek veya hızlı bir şekilde bir özellik işlevsel hale getirmek için tasarlanmış kısa, kullanışlı ve doğrudan çözüme yönelik kod parçalarını ifade eder. Bu kodlar genellikle mevcut kod tabanına eklenebilir veya bağımsız olarak yürütülebilir. Kod sprusları, tekrarlayan görevleri basitleştirmek, hata ayıklama sürecini hızlandırmak veya belirli bir sorunu hızla ele almak için harikadır. Ayrıntılı tasarım ve uzun vadeli sürdürülebilirlik endişeleri yerine, genellikle anlık ihtiyaçları karşılamaya odaklanır. Bir kod sprusu, basit bir script, tek satırlık bir komut, bir fonksiyon veya hatta birkaç satırlık bir kod bloğu olabilir. Önemli olan, hızlı bir şekilde yazılması, kolayca anlaşılabilir olması ve sorunu etkili bir şekilde çözmesidir. Örneğin, bir veritabanı sorgusunu hızlandırmak için yazılan bir indeksleme scripti, bir log dosyasını ayrıştırmak için kullanılan bir regex ifadesi veya bir API endpoint'i için yazılan hızlı bir veri doğrulama fonksiyonu birer kod sprusu örneği teşkil edebilir.<br />
Kod Sprusunun Faydaları: Çeviklik ve Verimlilik Artışı<br />
Kod sprusunun en belirgin avantajı, şüphesiz hızlı çözümler sunmasıdır. Özellikle acil bir durumla karşı karşıya kalındığında veya kısa sürede bir özelliğin tamamlanması gerektiğinde, kod sprusları pratik bir çözüm sunar. Bu hızlı, çözüm odaklı yaklaşım, verimliliği önemli ölçüde artırabilir ve yazılımcıların zamandan tasarruf etmesini sağlayabilir. *   **Acil Durum Kurtarıcısı:** Ani hataların neden olduğu acil durumlarda, hızlı bir kod sprusu sorunu geçici olarak çözebilir ve daha uzun vadeli bir çözüm için zaman yaratabilir. *   **Tekrarlayan İşlemleri Otomatikleştirme:** Manuel olarak yapılması zaman alan ve hata riski taşıyan tekrarlayan görevler, kod sprusları ile otomatikleştirilebilir. Bu da yazılımcıların daha karmaşık ve yaratıcı işlere odaklanmasını sağlar. *   **Hızlı Prototiplendirme:** Yeni bir özellik veya uygulamanın prototipini oluştururken, kod sprusları hızla fikirleri test etme ve doğrulama olanağı sunar. *   **Deney Alanı:** Farklı programlama dillerini veya kütüphaneleri incelerken, küçük kod sprusları yazarak deneyler yapmak ve yeni kavramları kavramak daha kolay hale gelir.<br />
Kod Sprusunun Karanlık Yüzü: Teknik Borç ve Kalıcılık Sorunları<br />
Kod sprusunun hızlı ve pratik çözümler sunmasının yanı sıra, potansiyel dezavantajları da vardır. Özellikle kontrolsüz bir şekilde kullanıldığında, teknik borç yaratabilir, kod kalitesini düşürebilir ve uzun vadede sürdürülebilirlik sorunlarına neden olabilir. *   **Teknik Borç Yaratımı:** Aceleyle yazılan ve tamamen test edilmeyen kod sprusları, gelecekte çözülmesi gereken teknik borca yol açabilir. *   **Düşük Kod Kalitesi:** Kod sprusları, genellikle standart kodlama uygulamalarına uymayan, anlaşılması zor ve bakımı zor olan karmaşık kodlar olabilir. *   **Güvenlik Zafiyetleri:** Hızla yazılan ve güvenlik sorunlarına karşı yeterince test edilmeyen kod sprusları, uygulamalarda güvenlik riskleri oluşturabilir. *   **Sürdürülebilirlik Sorunları:** Kod sprusları, genellikle iyi belgelenmemiş ve uzun vadeli kullanım için tasarlanmamış olduğundan, uygulamanın genel sürdürülebilirliğini olumsuz etkileyebilir.<br />
Ne Zaman Kod Sprusuna Başvurmalı? Doğru Zamanı Belirleme<br />
Kod sprusu her zaman kötü bir şey değildir. Doğru zamanda ve doğru şekilde kullanıldığında, değerli bir araç olabilir. Ancak, ne zaman kod sprusu kullanılması gerektiğine dikkat etmek önemlidir. *   **Acil Durumlarda Hızlı Müdahale:** Kritik bir hata oluştuğunda ve hızlı bir çözüme ihtiyaç duyulduğunda, kod sprusu geçici bir çözüm sağlayabilir. *   **Basit ve Tekrarlayan Görevlerde Otomasyon:** Tekrarlayan, basit görevleri otomatikleştirmek için kod sprusları idealdir. *   **Hızlı Prototiplendirme Aşamalarında Test ve Doğrulama:** Bir fikri hızlıca test etmek ve doğrulamak için kod sprusları kullanılabilir. *   **Öğrenme Sürecinde Pratik Uygulama:** Yeni bir dili veya kütüphaneyi öğrenirken, küçük kod sprusları yazarak pratik yapmak faydalıdır. Ancak, büyük projelerde, kritik sistemlerde veya uzun vadeli sürdürülebilirlik gerektiren durumlarda, kod sprusu kullanımından kaçınmak ve daha kapsamlı, planlı ve iyi test edilmiş çözümler üretmek daha doğru olacaktır. Özetle, kod sprusu doğru kullanıldığında değerli bir araç olabilirken, kontrolsüz kullanımı teknik borca, düşük kod kalitesine ve sürdürülebilirlik sorunlarına yol açabilir. Yazılımcıların, kod sprusunun avantajlarını ve dezavantajlarını iyi anlaması ve ne zaman kullanılması gerektiğine bilinçli bir şekilde karar vermesi, hem verimliliklerini artırmalarına hem de uzun vadede sürdürülebilir ve kaliteli kodlar üretmelerine yardımcı olacaktır.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Günün Kod Sorusu ve Çözümü]]></title>
			<link>https://kodlar.tr/konu-gunun-kod-sorusu-ve-cozumu.html</link>
			<pubDate>Sun, 11 May 2025 09:09:17 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-gunun-kod-sorusu-ve-cozumu.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Soru</span><br />
Verilen bir tamsayı dizisinde, her elemanın yalnızca bir kez göründüğü ve 1'den n'e kadar olan tüm sayıların bulunduğu bir diziden eksik olan sayıyı bulun. Dizideki sayılar 1 ile n arasında olup, n dizinin uzunluğudur.<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Girdi: nums = [4,3,2,7,8,2,3,1]<br />
Çıktı: 5</code></div></div><span style="font-weight: bold;" class="mycode_b">Açıklama:</span> 1'den 8'e kadar olan sayılar arasında 5 eksik.<br />
<span style="font-weight: bold;" class="mycode_b">Kısıtlamalar:</span><ul class="mycode_list"><li>Dizinin uzunluğu n'dir.<br />
</li>
<li>1 ≤ nums[i] ≤ n<br />
</li>
<li>Her sayı yalnızca bir kez görünür, ancak bir sayı eksik.<br />
</li>
</ul>
Çözüm<br />
Bu problemi çözmek için XOR işlemini kullanabiliriz. XOR'un özellikleri sayesinde, aynı sayılar birbirini sıfırlarken eksik olan sayı bulunabilir. Algoritma şu şekilde çalışır:<br />
<ol type="1" class="mycode_list"><li>1'den n'e kadar olan tüm sayıların XOR'unu hesapla.<br />
</li>
<li>Dizideki tüm sayıların XOR'unu hesapla.<br />
</li>
<li>Bu iki XOR sonucunu birbiriyle XOR yaparak eksik sayıyı bul.<br />
</li>
</ol>
Python Kodu<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>def findMissingNumber(nums):<br />
    n = len(nums)<br />
    xor_all = 0<br />
    for i in range(1, n + 1):<br />
        xor_all ^= i<br />
    <br />
    xor_array = 0<br />
    for num in nums:<br />
        xor_array ^= num<br />
    <br />
    return xor_all ^ xor_array<br />
# Test<br />
nums = [4, 3, 2, 7, 8, 2, 3, 1]<br />
print(findMissingNumber(nums))  # Çıktı: 5</code></div></div>Çözümün Açıklaması<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Adım 1:</span> xor_all, 1'den n'e kadar olan sayıların XOR'unu tutar. Örneğin, n=8 için 1^2^3^4^5^6^7^8 hesaplanır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Adım 2:</span> xor_array, dizideki tüm sayıların XOR'unu tutar. Örneğin, [4,3,2,7,8,2,3,1] için 4^3^2^7^8^2^3^1 hesaplanır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Adım 3:</span> xor_all ^ xor_array işlemi, aynı sayıların birbirini sıfırlaması nedeniyle yalnızca eksik sayıyı döndürür.<br />
</li>
</ul>
Zaman ve Uzay Karmaşıklığı<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Zaman Karmaşıklığı:</span> O(n), çünkü diziyi ve 1'den n'e kadar olan sayıları birer kez tarıyoruz.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Uzay Karmaşıklığı:</span> O(1), çünkü yalnızca birkaç değişken kullanıyoruz.<br />
</li>
</ul>
Bu çözüm, hem verimli hem de kolay anlaşılır bir yaklaşımdır. XOR işlemi sayesinde ek veri yapısına ihtiyaç duymadan eksik sayıyı bulabiliriz.]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Soru</span><br />
Verilen bir tamsayı dizisinde, her elemanın yalnızca bir kez göründüğü ve 1'den n'e kadar olan tüm sayıların bulunduğu bir diziden eksik olan sayıyı bulun. Dizideki sayılar 1 ile n arasında olup, n dizinin uzunluğudur.<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Girdi: nums = [4,3,2,7,8,2,3,1]<br />
Çıktı: 5</code></div></div><span style="font-weight: bold;" class="mycode_b">Açıklama:</span> 1'den 8'e kadar olan sayılar arasında 5 eksik.<br />
<span style="font-weight: bold;" class="mycode_b">Kısıtlamalar:</span><ul class="mycode_list"><li>Dizinin uzunluğu n'dir.<br />
</li>
<li>1 ≤ nums[i] ≤ n<br />
</li>
<li>Her sayı yalnızca bir kez görünür, ancak bir sayı eksik.<br />
</li>
</ul>
Çözüm<br />
Bu problemi çözmek için XOR işlemini kullanabiliriz. XOR'un özellikleri sayesinde, aynı sayılar birbirini sıfırlarken eksik olan sayı bulunabilir. Algoritma şu şekilde çalışır:<br />
<ol type="1" class="mycode_list"><li>1'den n'e kadar olan tüm sayıların XOR'unu hesapla.<br />
</li>
<li>Dizideki tüm sayıların XOR'unu hesapla.<br />
</li>
<li>Bu iki XOR sonucunu birbiriyle XOR yaparak eksik sayıyı bul.<br />
</li>
</ol>
Python Kodu<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>def findMissingNumber(nums):<br />
    n = len(nums)<br />
    xor_all = 0<br />
    for i in range(1, n + 1):<br />
        xor_all ^= i<br />
    <br />
    xor_array = 0<br />
    for num in nums:<br />
        xor_array ^= num<br />
    <br />
    return xor_all ^ xor_array<br />
# Test<br />
nums = [4, 3, 2, 7, 8, 2, 3, 1]<br />
print(findMissingNumber(nums))  # Çıktı: 5</code></div></div>Çözümün Açıklaması<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Adım 1:</span> xor_all, 1'den n'e kadar olan sayıların XOR'unu tutar. Örneğin, n=8 için 1^2^3^4^5^6^7^8 hesaplanır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Adım 2:</span> xor_array, dizideki tüm sayıların XOR'unu tutar. Örneğin, [4,3,2,7,8,2,3,1] için 4^3^2^7^8^2^3^1 hesaplanır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Adım 3:</span> xor_all ^ xor_array işlemi, aynı sayıların birbirini sıfırlaması nedeniyle yalnızca eksik sayıyı döndürür.<br />
</li>
</ul>
Zaman ve Uzay Karmaşıklığı<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Zaman Karmaşıklığı:</span> O(n), çünkü diziyi ve 1'den n'e kadar olan sayıları birer kez tarıyoruz.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Uzay Karmaşıklığı:</span> O(1), çünkü yalnızca birkaç değişken kullanıyoruz.<br />
</li>
</ul>
Bu çözüm, hem verimli hem de kolay anlaşılır bir yaklaşımdır. XOR işlemi sayesinde ek veri yapısına ihtiyaç duymadan eksik sayıyı bulabiliriz.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Kod Sorusu]]></title>
			<link>https://kodlar.tr/konu-kod-sorusu.html</link>
			<pubDate>Sun, 20 Apr 2025 18:59:04 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=3">Gets</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-kod-sorusu.html</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Soru:</span><br />
Bir dizide (liste) sadece bir eleman farklı sayıda tekrar ediyordur, diğer tüm elemanlar ikişer kez tekrar ediyordur. Bu tek kalan elemanı bulan bir fonksiyon yaz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
python<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>input: [4, 1, 2, 1, 2]<br />
output: 4</code></div></div><span style="font-weight: bold;" class="mycode_b">Kurallar:</span><ul class="mycode_list"><li>Zaman karmaşıklığı O(n) olmalı.<br />
</li>
<li>Ekstra bir liste veya sözlük kullanmadan çözmeye çalış.<br />
</li>
</ul>
<hr class="mycode_hr" />
Bu soruyu ekstra bellek kullanmadan ve O(n) zamanda çözmenin en güzel yolu XOR operatörünü kullanmaktır.<br />
<br />
Neden XOR?<br />
<br />
a ^ a = 0 (aynı sayılar birbirini götürür)<br />
<br />
a ^ 0 = a<br />
<br />
XOR işlemi değişmeli ve birleşmelidir.<br />
<br />
Yani bir dizideki tüm sayıları sırayla XOR'ladığımızda, çift olanlar birbirini sıfırlar ve sadece tek kalan sayı sonuç olarak elde kalır.<br />
<br />
Python çözümü:<br />
<br />
def single_number(nums):<br />
    result = 0<br />
    for num in nums:<br />
        result ^= num<br />
    return result<br />
<br />
# Örnek<br />
print(single_number([4, 1, 2, 1, 2]))]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Soru:</span><br />
Bir dizide (liste) sadece bir eleman farklı sayıda tekrar ediyordur, diğer tüm elemanlar ikişer kez tekrar ediyordur. Bu tek kalan elemanı bulan bir fonksiyon yaz.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Örnek:</span><br />
python<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>input: [4, 1, 2, 1, 2]<br />
output: 4</code></div></div><span style="font-weight: bold;" class="mycode_b">Kurallar:</span><ul class="mycode_list"><li>Zaman karmaşıklığı O(n) olmalı.<br />
</li>
<li>Ekstra bir liste veya sözlük kullanmadan çözmeye çalış.<br />
</li>
</ul>
<hr class="mycode_hr" />
Bu soruyu ekstra bellek kullanmadan ve O(n) zamanda çözmenin en güzel yolu XOR operatörünü kullanmaktır.<br />
<br />
Neden XOR?<br />
<br />
a ^ a = 0 (aynı sayılar birbirini götürür)<br />
<br />
a ^ 0 = a<br />
<br />
XOR işlemi değişmeli ve birleşmelidir.<br />
<br />
Yani bir dizideki tüm sayıları sırayla XOR'ladığımızda, çift olanlar birbirini sıfırlar ve sadece tek kalan sayı sonuç olarak elde kalır.<br />
<br />
Python çözümü:<br />
<br />
def single_number(nums):<br />
    result = 0<br />
    for num in nums:<br />
        result ^= num<br />
    return result<br />
<br />
# Örnek<br />
print(single_number([4, 1, 2, 1, 2]))]]></content:encoded>
		</item>
	</channel>
</rss>