{"id":37716,"date":"2026-01-13T13:30:44","date_gmt":"2026-01-13T10:30:44","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/"},"modified":"2026-01-13T13:30:44","modified_gmt":"2026-01-13T10:30:44","slug":"baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/","title":{"rendered":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)"},"content":{"rendered":"<h2>Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)<\/h2>\n<p>Programlama d\u00fcnyas\u0131na yeni ad\u0131m atanlar veya algoritma becerilerini geli\u015ftirmek isteyenler i\u00e7in LeetCode gibi platformlar paha bi\u00e7ilmez kaynaklard\u0131r. Bu rehberde, &#8220;Separate Squares I&#8221; olarak adland\u0131r\u0131lan ve LeetCode 3453 numaral\u0131 problemi inceleyece\u011fiz. Bu problem, temel dizi manip\u00fclasyonu ve ko\u015fullu mant\u0131k becerilerini peki\u015ftirmek i\u00e7in harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Amac\u0131m\u0131z, bu problemi ad\u0131m ad\u0131m anlay\u0131p, C++, Python ve JavaScript dillerinde etkili \u00e7\u00f6z\u00fcmler sunarak konuya tamamen hakim olman\u0131z\u0131 sa\u011flamakt\u0131r.<\/p>\n<h3>Problemi Anlamak: LeetCode 3453 Nedir?<\/h3>\n<p>LeetCode 3453, &#8220;Separate Squares I&#8221; problemi, size verilen bir negatif olmayan tam say\u0131lar dizisini belirli bir kurala g\u00f6re yeniden d\u00fczenlemenizi ister. Bu kural, dizideki t\u00fcm tam kare say\u0131lar\u0131n, tam kare olmayan say\u0131lardan \u00f6nce gelmesini sa\u011flamakt\u0131r. \u00d6nemli bir detay ise, tam kare say\u0131lar kendi aralar\u0131nda ve tam kare olmayan say\u0131lar kendi aralar\u0131nda g\u00f6receli s\u0131ralar\u0131n\u0131 korumal\u0131d\u0131r. Bu, problemin &#8220;stabil&#8221; bir s\u0131ralama veya b\u00f6lme gerektirdi\u011fini g\u00f6sterir.<\/p>\n<h4>Neden &#8216;Separate Squares I&#8217;?<\/h4>\n<p>Bu t\u00fcr problemler, genellikle daha karma\u015f\u0131k algoritmalar\u0131n temelini olu\u015fturur. &#8220;Separate Squares I&#8221; adland\u0131rmas\u0131, muhtemelen bu konunun ilk ve en basit versiyonu oldu\u011funu ima eder. Bu problemi \u00e7\u00f6zmek, diziler \u00fczerinde iterasyon yapma, ko\u015fullu kontrol (bir say\u0131n\u0131n tam kare olup olmad\u0131\u011f\u0131n\u0131 belirleme) ve yeni bir dizi olu\u015fturma gibi temel becerileri geli\u015ftirmenize yard\u0131mc\u0131 olur.<\/p>\n<h4>Problem Kategorisi: Diziler ve B\u00f6lme (Partitioning)<\/h4>\n<p>LeetCode 3453, temel olarak dizi manip\u00fclasyonu ve b\u00f6lme (partitioning) kategorisine girer. Bir diziyi belirli bir kritere g\u00f6re iki veya daha fazla b\u00f6l\u00fcme ay\u0131rmak, bir\u00e7ok algoritma probleminde kar\u015f\u0131la\u015f\u0131lan yayg\u0131n bir senaryodur. Bu problemde kriterimiz, say\u0131n\u0131n tam kare olup olmamas\u0131d\u0131r.<\/p>\n<h4>Hedef Kitle: Ba\u015flang\u0131\u00e7 Seviyesi Geli\u015ftiriciler<\/h4>\n<p>Bu rehber, \u00f6zellikle algoritma ve veri yap\u0131lar\u0131na yeni ba\u015flayan, temel programlama bilgisine sahip ancak LeetCode problemlerine nas\u0131l yakla\u015faca\u011f\u0131n\u0131 bilemeyen geli\u015ftiriciler i\u00e7in tasarlanm\u0131\u015ft\u0131r. Karma\u015f\u0131k algoritmalar yerine, anla\u015f\u0131lmas\u0131 kolay ve verimli bir \u00e7\u00f6z\u00fcm sunaca\u011f\u0131z.<\/p>\n<h3>Problem Tan\u0131m\u0131 ve \u00d6rnekler<\/h3>\n<p>Problemi daha iyi anlamak i\u00e7in girdi, \u00e7\u0131kt\u0131 formatlar\u0131n\u0131 ve baz\u0131 \u00f6rnek senaryolar\u0131 inceleyelim.<\/p>\n<h4>Girdi ve \u00c7\u0131kt\u0131 Format\u0131<\/h4>\n<p>*   <strong>Girdi:<\/strong> Negatif olmayan tam say\u0131lardan olu\u015fan bir dizi (\u00f6rne\u011fin, <code>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<\/code>).<br \/>\n*   <strong>\u00c7\u0131kt\u0131:<\/strong> Tam kare say\u0131lar\u0131n ba\u015fta, tam kare olmayan say\u0131lar\u0131n sonda oldu\u011fu ve her iki grupta da g\u00f6receli s\u0131ran\u0131n korundu\u011fu yeniden d\u00fczenlenmi\u015f bir dizi.<\/p>\n<h4>\u00d6rnek 1: Basit Senaryo<\/h4>\n<p>*   <strong>Girdi:<\/strong> <code>nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<\/code><br \/>\n*   <strong>A\u00e7\u0131klama:<\/strong><br \/>\n    *   Tam kare say\u0131lar: 1 (1*1), 4 (2*2), 9 (3*3)<br \/>\n    *   Tam kare olmayan say\u0131lar: 2, 3, 5, 6, 7, 8, 10<br \/>\n*   <strong>\u00c7\u0131kt\u0131:<\/strong> <code>[1, 4, 9, 2, 3, 5, 6, 7, 8, 10]<\/code><br \/>\n    *   Dikkat edin, 1, 4, 9 kendi aralar\u0131nda (girdideki gibi) s\u0131ralar\u0131n\u0131 korudu.<br \/>\n    *   2, 3, 5, 6, 7, 8, 10 kendi aralar\u0131nda (girdideki gibi) s\u0131ralar\u0131n\u0131 korudu.<\/p>\n<h4>\u00d6rnek 2: K\u00f6\u015fe Durumlar<\/h4>\n<p>*   <strong>Girdi:<\/strong> <code>nums = [2, 3, 5, 7, 11]<\/code> (Hi\u00e7 tam kare yok)<br \/>\n*   <strong>\u00c7\u0131kt\u0131:<\/strong> <code>[2, 3, 5, 7, 11]<\/code> (S\u0131ra de\u011fi\u015fmez)<\/p>\n<p>*   <strong>Girdi:<\/strong> <code>nums = [1, 4, 9, 16]<\/code> (Hepsi tam kare)<br \/>\n*   <strong>\u00c7\u0131kt\u0131:<\/strong> <code>[1, 4, 9, 16]<\/code> (S\u0131ra de\u011fi\u015fmez)<\/p>\n<p>*   <strong>Girdi:<\/strong> <code>nums = []<\/code> (Bo\u015f dizi)<br \/>\n*   <strong>\u00c7\u0131kt\u0131:<\/strong> <code>[]<\/code> (Bo\u015f dizi)<\/p>\n<h4>K\u0131s\u0131tlamalar<\/h4>\n<p>*   Dizinin uzunlu\u011fu <code>0 <= N <= 10^5<\/code> olabilir.<br \/>\n*   Dizideki her eleman <code>0 <= nums[i] <= 10^9<\/code> olabilir.<br \/>\n*   0 bir tam karedir (0*0 = 0).<\/p>\n<h3>\u0130lk Yakla\u015f\u0131mlar ve D\u00fc\u015f\u00fcnce S\u00fcreci<\/h3>\n<p>Bir problemle kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda, hemen en optimal \u00e7\u00f6z\u00fcm\u00fc bulmaya \u00e7al\u0131\u015fmak yerine, \u00f6nce basit ve anla\u015f\u0131l\u0131r bir yakla\u015f\u0131mla ba\u015flamak faydal\u0131d\u0131r.<\/p>\n<h4>Brute Force (Kaba Kuvvet) Yakla\u015f\u0131m\u0131<\/h4>\n<p>Bu problem i\u00e7in \"kaba kuvvet\" olarak adland\u0131rabilece\u011fimiz bir yakla\u015f\u0131m, her eleman\u0131 tek tek kontrol edip, tam kare olanlar\u0131 bir listeye, tam kare olmayanlar\u0131 ba\u015fka bir listeye eklemek ve sonra bu iki listeyi birle\u015ftirmektir.<\/p>\n<p>1.  Bo\u015f bir <code>tamKareler<\/code> listesi olu\u015ftur.<br \/>\n2.  Bo\u015f bir <code>tamKareOlmayanlar<\/code> listesi olu\u015ftur.<br \/>\n3.  Girdi dizisindeki her say\u0131 i\u00e7in:<br \/>\n    *   Say\u0131 tam kare mi diye kontrol et. (Bir say\u0131n\u0131n tam kare olup olmad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in, karek\u00f6k\u00fcn\u00fc al\u0131p tam say\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edebiliriz.)<br \/>\n    *   E\u011fer tam kare ise, <code>tamKareler<\/code> listesine ekle.<br \/>\n    *   De\u011filse, <code>tamKareOlmayanlar<\/code> listesine ekle.<br \/>\n4.  <code>tamKareler<\/code> listesini <code>tamKareOlmayanlar<\/code> listesinin \u00f6n\u00fcne ekleyerek yeni bir sonu\u00e7 dizisi olu\u015ftur ve d\u00f6nd\u00fcr.<\/p>\n<h4>Brute Force'un Dezavantajlar\u0131 (Bu Problem \u0130\u00e7in De\u011fil)<\/h4>\n<p>Asl\u0131nda, bu problem i\u00e7in yukar\u0131daki \"kaba kuvvet\" olarak adland\u0131rd\u0131\u011f\u0131m\u0131z yakla\u015f\u0131m, hem basitli\u011fi hem de verimlili\u011fi nedeniyle olduk\u00e7a optimaldir. \u00c7o\u011fu problemde kaba kuvvet \u00e7\u00f6z\u00fcmleri \u00e7ok yava\u015f veya bellek t\u00fcketimi a\u00e7\u0131s\u0131ndan verimsiz olabilirken, bu problemde O(N) zaman karma\u015f\u0131kl\u0131\u011f\u0131na ve O(N) uzay karma\u015f\u0131kl\u0131\u011f\u0131na sahip oldu\u011fu i\u00e7in kabul edilebilir bir \u00e7\u00f6z\u00fcmd\u00fcr. \"Brute force\" terimi burada, en basit ve direkt yolu ifade etmek i\u00e7in kullan\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h4>Daha Verimli Bir Yola \u0130htiya\u00e7 (Bu Problem \u0130\u00e7in Gerekli De\u011fil)<\/h4>\n<p>E\u011fer problem, ekstra bellek kullan\u0131m\u0131na izin vermeseydi (yani yerinde, in-place bir \u00e7\u00f6z\u00fcm isteseydi) veya elemanlar\u0131n g\u00f6receli s\u0131ras\u0131n\u0131 koruma \u015fart\u0131 olmasayd\u0131, iki i\u015faret\u00e7i (two-pointer) gibi farkl\u0131 teknikler d\u00fc\u015f\u00fcnmemiz gerekebilirdi. Ancak bu problemde, g\u00f6receli s\u0131ray\u0131 koruma ve yeni bir dizi olu\u015fturma izni, iki ge\u00e7i\u015fli (two-pass) bu y\u00f6ntemi en uygun hale getiriyor.<\/p>\n<h3>Optimal \u00c7\u00f6z\u00fcm: Algoritma Tasar\u0131m\u0131<\/h3>\n<p>Yukar\u0131da bahsetti\u011fimiz iki ge\u00e7i\u015fli yakla\u015f\u0131m, bu problem i\u00e7in hem anla\u015f\u0131l\u0131r hem de optimal bir \u00e7\u00f6z\u00fcmd\u00fcr. \u015eimdi bu algoritmay\u0131 daha detayl\u0131 inceleyelim.<\/p>\n<h4>\u0130ki Ge\u00e7i\u015fli (Two-Pass) Yakla\u015f\u0131m<\/h4>\n<p>Bu yakla\u015f\u0131m, diziyi iki kez tarayarak istenen sonucu elde eder.<\/p>\n<p>1.  <strong>Tam Kareleri Toplama:<\/strong> Diziyi ba\u015ftan sona bir kez tarar\u0131z. Kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z her tam kare say\u0131y\u0131 yeni bir sonu\u00e7 dizisine ekleriz.<br \/>\n2.  <strong>Tam Kare Olmayanlar\u0131 Toplama:<\/strong> Diziyi tekrar ba\u015ftan sona tarar\u0131z. Bu sefer, kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z her tam kare olmayan say\u0131y\u0131 sonu\u00e7 dizisinin sonuna ekleriz.<\/p>\n<p>Bu y\u00f6ntem, her iki gruptaki (tam kareler ve tam kare olmayanlar) elemanlar\u0131n g\u00f6receli s\u0131ras\u0131n\u0131 korur \u00e7\u00fcnk\u00fc elemanlar orijinal dizide g\u00f6r\u00fcnd\u00fckleri s\u0131rayla eklenir.<\/p>\n<h4>Bir Say\u0131n\u0131n Tam Kare Olup Olmad\u0131\u011f\u0131n\u0131 Belirleme<\/h4>\n<p>Bir say\u0131n\u0131n tam kare olup olmad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in en yayg\u0131n y\u00f6ntemlerden biri \u015fudur:<br \/>\n1.  Say\u0131n\u0131n karek\u00f6k\u00fcn\u00fc al.<br \/>\n2.  Karek\u00f6k\u00fcn bir tam say\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol et.<\/p>\n<p>\u00d6rne\u011fin, Python'da <code>int(math.sqrt(num)) ** 2 == num<\/code> \u015feklinde kontrol edebiliriz. C++ ve JavaScript'te de benzer mant\u0131kla <code>sqrt<\/code> fonksiyonunu kullanabiliriz. <code>0<\/code> say\u0131s\u0131n\u0131n da bir tam kare oldu\u011funu unutmay\u0131n (<code>0 * 0 = 0<\/code>).<\/p>\n<h4>Algoritma Ad\u0131mlar\u0131<\/h4>\n<p>1.  <code>isPerfectSquare(num)<\/code> ad\u0131nda bir yard\u0131mc\u0131 fonksiyon tan\u0131mlay\u0131n. Bu fonksiyon, <code>num<\/code>'un tam kare olup olmad\u0131\u011f\u0131n\u0131 <code>true<\/code> veya <code>false<\/code> olarak d\u00f6nd\u00fcrecektir.<br \/>\n    *   E\u011fer <code>num < 0<\/code> ise, <code>false<\/code> d\u00f6nd\u00fcr (problem negatif say\u0131lar\u0131 i\u00e7ermese de iyi bir pratik).<br \/>\n    *   E\u011fer <code>num == 0<\/code> ise, <code>true<\/code> d\u00f6nd\u00fcr.<br \/>\n    *   <code>root = round(sqrt(num))<\/code> hesapla. <code>round<\/code> kullanmak, kayan nokta hassasiyet hatalar\u0131n\u0131 minimize etmeye yard\u0131mc\u0131 olabilir.<br \/>\n    *   <code>root * root == num<\/code> ise <code>true<\/code>, aksi takdirde <code>false<\/code> d\u00f6nd\u00fcr.<br \/>\n2.  Bo\u015f bir <code>result<\/code> dizisi olu\u015fturun.<br \/>\n3.  Girdi <code>nums<\/code> dizisindeki her <code>n<\/code> eleman\u0131 i\u00e7in:<br \/>\n    *   E\u011fer <code>isPerfectSquare(n)<\/code> <code>true<\/code> ise, <code>n<\/code>'i <code>result<\/code> dizisine ekle.<br \/>\n4.  Girdi <code>nums<\/code> dizisindeki her <code>n<\/code> eleman\u0131 i\u00e7in (ikinci ge\u00e7i\u015f):<br \/>\n    *   E\u011fer <code>isPerfectSquare(n)<\/code> <code>false<\/code> ise, <code>n<\/code>'i <code>result<\/code> dizisine ekle.<br \/>\n5.  <code>result<\/code> dizisini d\u00f6nd\u00fcr.<\/p>\n<h4>\u00d6rnek \u00dczerinden Ad\u0131m Ad\u0131m \u0130nceleme<\/h4>\n<p><strong>Girdi:<\/strong> <code>nums = [1, 2, 3, 4, 5]<\/code><\/p>\n<p>1.  <code>result = []<\/code><br \/>\n2.  <strong>Birinci Ge\u00e7i\u015f (Tam Kareler):<\/strong><br \/>\n    *   <code>n = 1<\/code>: <code>isPerfectSquare(1)<\/code> -> <code>true<\/code>. <code>result = [1]<\/code><br \/>\n    *   <code>n = 2<\/code>: <code>isPerfectSquare(2)<\/code> -> <code>false<\/code>.<br \/>\n    *   <code>n = 3<\/code>: <code>isPerfectSquare(3)<\/code> -> <code>false<\/code>.<br \/>\n    *   <code>n = 4<\/code>: <code>isPerfectSquare(4)<\/code> -> <code>true<\/code>. <code>result = [1, 4]<\/code><br \/>\n    *   <code>n = 5<\/code>: <code>isPerfectSquare(5)<\/code> -> <code>false<\/code>.<br \/>\n    *   Birinci ge\u00e7i\u015f sonunda: <code>result = [1, 4]<\/code><br \/>\n3.  <strong>\u0130kinci Ge\u00e7i\u015f (Tam Kare Olmayanlar):<\/strong><br \/>\n    *   <code>n = 1<\/code>: <code>isPerfectSquare(1)<\/code> -> <code>true<\/code>. (Bu zaten eklendi, atla)<br \/>\n    *   <code>n = 2<\/code>: <code>isPerfectSquare(2)<\/code> -> <code>false<\/code>. <code>result = [1, 4, 2]<\/code><br \/>\n    *   <code>n = 3<\/code>: <code>isPerfectSquare(3)<\/code> -> <code>false<\/code>. <code>result = [1, 4, 2, 3]<\/code><br \/>\n    *   <code>n = 4<\/code>: <code>isPerfectSquare(4)<\/code> -> <code>true<\/code>. (Bu zaten eklendi, atla)<br \/>\n    *   <code>n = 5<\/code>: <code>isPerfectSquare(5)<\/code> -> <code>false<\/code>. <code>result = [1, 4, 2, 3, 5]<\/code><br \/>\n4.  D\u00f6nd\u00fcr\u00fclen sonu\u00e7: <code>[1, 4, 2, 3, 5]<\/code><\/p>\n<h3>Kod \u00d6rnekleri: C++, Python, JavaScript<\/h3>\n<p>\u015eimdi bu algoritmay\u0131 \u00fc\u00e7 farkl\u0131 dilde nas\u0131l uygulayabilece\u011fimize bakal\u0131m.<\/p>\n<h4>C++ \u00c7\u00f6z\u00fcm\u00fc<\/h4>\n<pre><code class=\"language-cpp\">\n#include <vector>\n#include <cmath>\n#include <numeric> \/\/ Sadece test ama\u00e7l\u0131, \u00e7\u00f6z\u00fcmde kullan\u0131lmaz\n\nclass Solution {\npublic:\n    \/\/ Bir say\u0131n\u0131n tam kare olup olmad\u0131\u011f\u0131n\u0131 kontrol eden yard\u0131mc\u0131 fonksiyon\n    bool isPerfectSquare(int num) {\n        if (num < 0) {\n            return false; \/\/ Negatif say\u0131lar tam kare olamaz\n        }\n        if (num == 0) {\n            return true; \/\/ 0 bir tam karedir (0*0)\n        }\n        long long root = round(sqrt(num)); \/\/ round kullanmak hassasiyet hatalar\u0131n\u0131 azalt\u0131r\n        return root * root == num;\n    }\n\n    std::vector<int> separateSquares(std::vector<int>& nums) {\n        std::vector<int> result;\n        result.reserve(nums.size()); \/\/ Bellek tahsisini optimize et\n\n        \/\/ Birinci ge\u00e7i\u015f: Tam kareleri topla\n        for (int num : nums) {\n            if (isPerfectSquare(num)) {\n                result.push_back(num);\n            }\n        }\n\n        \/\/ \u0130kinci ge\u00e7i\u015f: Tam kare olmayanlar\u0131 topla\n        for (int num : nums) {\n            if (!isPerfectSquare(num)) {\n                result.push_back(num);\n            }\n        }\n\n        return result;\n    }\n};\n\n\/\/ \u00d6rnek kullan\u0131m (main fonksiyonu LeetCode'da yoktur, test ama\u00e7l\u0131d\u0131r)\n\/*\n#include <iostream>\nint main() {\n    Solution sol;\n    std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};\n    std::vector<int> result = sol.separateSquares(nums);\n    for (int num : result) {\n        std::cout << num << \" \";\n    }\n    std::cout << std::endl; \/\/ \u00c7\u0131kt\u0131: 1 4 9 2 3 5 6 7 8 10\n    return 0;\n}\n*\/\n<\/pre>\n<p><\/code><\/p>\n<h4>Python \u00c7\u00f6z\u00fcm\u00fc<\/h4>\n<pre><code class=\"language-python\">\nimport math\n\nclass Solution:\n    def isPerfectSquare(self, num: int) -> bool:\n        if num < 0:\n            return False\n        if num == 0:\n            return True\n        \n        # Karek\u00f6k\u00fcn\u00fc al\u0131p tam say\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol et\n        # int() fonksiyonu ondal\u0131k k\u0131sm\u0131 atar\n        root = int(math.sqrt(num))\n        return root * root == num\n\n    def separateSquares(self, nums: list[int]) -> list[int]:\n        result = []\n        \n        # Birinci ge\u00e7i\u015f: Tam kareleri topla\n        for num in nums:\n            if self.isPerfectSquare(num):\n                result.append(num)\n        \n        # \u0130kinci ge\u00e7i\u015f: Tam kare olmayanlar\u0131 topla\n        for num in nums:\n            if not self.isPerfectSquare(num):\n                result.append(num)\n                \n        return result\n\n# \u00d6rnek kullan\u0131m\n# sol = Solution()\n# nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n# print(sol.separateSquares(nums)) # \u00c7\u0131kt\u0131: [1, 4, 9, 2, 3, 5, 6, 7, 8, 10]\n<\/pre>\n<p><\/code><\/p>\n<h4>JavaScript \u00c7\u00f6z\u00fcm\u00fc<\/h4>\n<pre><code class=\"language-javascript\">\nclass Solution {\n    \/**\n     * Bir say\u0131n\u0131n tam kare olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.\n     * @param {number} num\n     * @return {boolean}\n     *\/\n    isPerfectSquare(num) {\n        if (num < 0) {\n            return false;\n        }\n        if (num === 0) {\n            return true;\n        }\n        \n        \/\/ Math.sqrt() karek\u00f6k\u00fc verir, Math.round() yuvarlar\n        const root = Math.round(Math.sqrt(num));\n        return root * root === num;\n    }\n\n    \/**\n     * Diziyi tam kare ve tam kare olmayan say\u0131lar olarak ay\u0131r\u0131r.\n     * @param {number[]} nums\n     * @return {number[]}\n     *\/\n    separateSquares(nums) {\n        const result = [];\n        \n        \/\/ Birinci ge\u00e7i\u015f: Tam kareleri topla\n        for (const num of nums) {\n            if (this.isPerfectSquare(num)) {\n                result.push(num);\n            }\n        }\n        \n        \/\/ \u0130kinci ge\u00e7i\u015f: Tam kare olmayanlar\u0131 topla\n        for (const num of nums) {\n            if (!this.isPerfectSquare(num)) {\n                result.push(num);\n            }\n        }\n        \n        return result;\n    }\n}\n\n\/\/ \u00d6rnek kullan\u0131m\n\/\/ const sol = new Solution();\n\/\/ const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n\/\/ console.log(sol.separateSquares(nums)); \/\/ \u00c7\u0131kt\u0131: [1, 4, 9, 2, 3, 5, 6, 7, 8, 10]\n<\/pre>\n<p><\/code><\/p>\n<h3>Zaman ve Uzay Karma\u015f\u0131kl\u0131\u011f\u0131 Analizi<\/h3>\n<p>Bir algoritman\u0131n performans\u0131n\u0131 de\u011ferlendirmek i\u00e7in zaman ve uzay karma\u015f\u0131kl\u0131klar\u0131n\u0131 analiz etmek \u00f6nemlidir.<\/p>\n<h4>Zaman Karma\u015f\u0131kl\u0131\u011f\u0131 (Time Complexity)<\/h4>\n<p>*   <code>isPerfectSquare<\/code> fonksiyonu: <code>sqrt<\/code> i\u015flemi genellikle O(log N) veya sabit zamanl\u0131 (i\u015flemci mimarisine g\u00f6re) kabul edilir. Burada her \u00e7a\u011fr\u0131da sabit bir i\u015f yap\u0131ld\u0131\u011f\u0131 varsay\u0131labilir.<br \/>\n*   Ana <code>separateSquares<\/code> fonksiyonu: Diziyi iki kez tar\u0131yoruz. Her tarama <code>N<\/code> eleman i\u00e7erir. Her eleman i\u00e7in <code>isPerfectSquare<\/code> fonksiyonu \u00e7a\u011fr\u0131l\u0131r.<br \/>\n*   Dolay\u0131s\u0131yla, toplam zaman karma\u015f\u0131kl\u0131\u011f\u0131 <strong>O(N)<\/strong>'dir, burada <code>N<\/code> dizinin uzunlu\u011fudur. Bu, dizinin boyutuyla do\u011frusal olarak artan bir performanst\u0131r ve b\u00fcy\u00fck diziler i\u00e7in olduk\u00e7a verimlidir.<\/p>\n<h4>Uzay Karma\u015f\u0131kl\u0131\u011f\u0131 (Space Complexity)<\/h4>\n<p>*   Yeni bir <code>result<\/code> dizisi olu\u015fturuyoruz ve bu dizi orijinal dizideki t\u00fcm elemanlar\u0131 i\u00e7eriyor.<br \/>\n*   Bu nedenle, uzay karma\u015f\u0131kl\u0131\u011f\u0131 <strong>O(N)<\/strong>'dir, burada <code>N<\/code> dizinin uzunlu\u011fudur.<\/p>\n<h4>Neden Optimal?<\/h4>\n<p>Bu \u00e7\u00f6z\u00fcm, zaman karma\u015f\u0131kl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan optimaldir \u00e7\u00fcnk\u00fc dizideki her eleman\u0131 en az bir kez (hatta iki kez) kontrol etmemiz gerekmektedir. O(N)'den daha iyi bir zaman karma\u015f\u0131kl\u0131\u011f\u0131 (\u00f6rne\u011fin O(log N) veya O(1)) bu problem i\u00e7in m\u00fcmk\u00fcn de\u011fildir, \u00e7\u00fcnk\u00fc t\u00fcm elemanlar\u0131 incelemeden do\u011fru bir b\u00f6lme yapamay\u0131z. Uzay karma\u015f\u0131kl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan da, g\u00f6receli s\u0131ray\u0131 koruma \u015fart\u0131 ve yerinde (in-place) bir \u00e7\u00f6z\u00fcm\u00fcn genellikle daha karma\u015f\u0131k olmas\u0131 nedeniyle, O(N) ek alan kullanmak \"ba\u015flang\u0131\u00e7 dostu\" bir problem i\u00e7in kabul edilebilir ve pratiktir.<\/p>\n<h3>Ekstra \u0130pu\u00e7lar\u0131 ve En \u0130yi Pratikler<\/h3>\n<p>LeetCode problemlerini \u00e7\u00f6zerken ve genel olarak kod yazarken dikkat etmeniz gereken baz\u0131 noktalar:<\/p>\n<h4>Test Durumlar\u0131 Olu\u015fturma<\/h4>\n<p>Kendi test durumlar\u0131n\u0131z\u0131 olu\u015fturmak, kodunuzdaki hatalar\u0131 bulman\u0131za yard\u0131mc\u0131 olur.<br \/>\n*   Bo\u015f dizi <code>[]<\/code><br \/>\n*   Hepsi tam kare olan dizi <code>[1, 4, 9]<\/code><br \/>\n*   Hi\u00e7 tam kare olmayan dizi <code>[2, 3, 5]<\/code><br \/>\n*   Kar\u0131\u015f\u0131k dizi <code>[0, 1, 2, 3, 4]<\/code><br \/>\n*   B\u00fcy\u00fck say\u0131lar i\u00e7eren dizi <code>[100000000, 99999999, 400000000]<\/code><\/p>\n<h4>Kod Okunabilirli\u011fi ve Yorumlar<\/h4>\n<p>Kodunuzu ba\u015fkalar\u0131n\u0131n (veya gelecekteki sizin) kolayca anlayabilece\u011fi \u015fekilde yaz\u0131n. Anla\u015f\u0131l\u0131r de\u011fi\u015fken isimleri kullan\u0131n ve karma\u015f\u0131k mant\u0131k k\u0131s\u0131mlar\u0131n\u0131 a\u00e7\u0131klayan yorumlar ekleyin.<\/p>\n<h4>LeetCode'da Pratik Yapma<\/h4>\n<p>*   <strong>Zorluk Seviyeleri:<\/strong> Ba\u015flang\u0131\u00e7 seviyesi problemlerle ba\u015flay\u0131n ve yava\u015f yava\u015f zorluk seviyesini art\u0131r\u0131n.<br \/>\n*   <strong>\u00c7e\u015fitlilik:<\/strong> Farkl\u0131 problem kategorilerinden (diziler, stringler, a\u011fa\u00e7lar, grafikler vb.) problemler \u00e7\u00f6zmeye \u00e7al\u0131\u015f\u0131n.<br \/>\n*   <strong>Tart\u0131\u015fma B\u00f6l\u00fcm\u00fc:<\/strong> Bir problemi \u00e7\u00f6zd\u00fckten sonra, di\u011fer kullan\u0131c\u0131lar\u0131n \u00e7\u00f6z\u00fcmlerini ve tart\u0131\u015fmalar\u0131 okuyun. Bu, farkl\u0131 yakla\u015f\u0131mlar\u0131 \u00f6\u011frenmek i\u00e7in harika bir yoldur.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>\"Separate Squares I\" (LeetCode 3453) problemi, temel dizi manip\u00fclasyonu, ko\u015fullu mant\u0131k ve algoritma analizi becerilerinizi geli\u015ftirmek i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. \u0130ki ge\u00e7i\u015fli, yard\u0131mc\u0131 bir fonksiyon kullanan \u00e7\u00f6z\u00fcm\u00fcm\u00fcz, hem anla\u015f\u0131l\u0131r hem de zaman ve uzay karma\u015f\u0131kl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan optimaldir. C++, Python ve JavaScript dillerinde sundu\u011fumuz \u00f6rnekler, bu konsepti farkl\u0131 programlama ortamlar\u0131nda nas\u0131l uygulayabilece\u011finizi g\u00f6stermektedir. Bu t\u00fcr problemleri \u00e7\u00f6zerek, daha karma\u015f\u0131k algoritma zorluklar\u0131na haz\u0131rlanmak i\u00e7in sa\u011flam bir temel olu\u015fturursunuz. Unutmay\u0131n, pratik yapmak ve farkl\u0131 \u00e7\u00f6z\u00fcmleri ke\u015ffetmek, bir programc\u0131 olarak geli\u015fmenin anahtar\u0131d\u0131r.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>Bu problemi neden \u00e7\u00f6zmeliyim?<\/h4>\n<p>Bu problem, diziler \u00fczerinde iterasyon yapma, ko\u015fullu mant\u0131k uygulama ve bir diziyi belirli bir kritere g\u00f6re b\u00f6lme gibi temel programlama becerilerini peki\u015ftirir. Ayr\u0131ca, algoritma karma\u015f\u0131kl\u0131\u011f\u0131 analizi yapma yetene\u011finizi geli\u015ftirir.<\/p>\n<h4>Daha karma\u015f\u0131k 'Separate Squares' problemleri var m\u0131?<\/h4>\n<p>Evet, genellikle \"I\" eki, bu serinin ilk ve en basit problemi oldu\u011funu g\u00f6sterir. Daha karma\u015f\u0131k versiyonlar\u0131, \u00f6rne\u011fin yerinde (in-place) \u00e7\u00f6z\u00fcm gerektirebilir, belirli bir zaman veya uzay karma\u015f\u0131kl\u0131\u011f\u0131 hedefleyebilir veya farkl\u0131 b\u00f6lme kriterleri i\u00e7erebilir.<\/p>\n<h4>\u0130ki i\u015faret\u00e7i tekni\u011fi ba\u015fka nerelerde kullan\u0131l\u0131r?<\/h4>\n<p>\u0130ki i\u015faret\u00e7i (Two-Pointer) tekni\u011fi, s\u0131ral\u0131 dizilerde eleman arama, dizileri birle\u015ftirme, palindrom kontrol\u00fc, belirli bir toplam\u0131 veren \u00e7iftleri bulma gibi bir\u00e7ok problemde yayg\u0131n olarak kullan\u0131l\u0131r. Bu problemde g\u00f6receli s\u0131ra koruma ve yeni dizi olu\u015fturma izni oldu\u011fu i\u00e7in iki ge\u00e7i\u015fli yakla\u015f\u0131m daha uygun olsa da, in-place \u00e7\u00f6z\u00fcmlerde iki i\u015faret\u00e7i vazge\u00e7ilmezdir.<\/p>\n<h4>LeetCode'da yeni ba\u015flayanlar i\u00e7in ba\u015fka hangi problemleri \u00f6nerirsiniz?<\/h4>\n<p>Yeni ba\u015flayanlar i\u00e7in LeetCode'da \"Two Sum\" (1), \"Valid Parentheses\" (20), \"Merge Two Sorted Lists\" (21), \"Remove Duplicates from Sorted Array\" (26) gibi problemler olduk\u00e7a pop\u00fcler ve \u00f6\u011freticidir. Bu problemler, farkl\u0131 temel veri yap\u0131lar\u0131 ve algoritmik yakla\u015f\u0131mlar hakk\u0131nda fikir verir.<\/p>\n","protected":false},"excerpt":{"rendered":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)\nProgramlama d\u00fcnyas\u0131na yeni ad\u0131m atanlar veya algoritma&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1403],"tags":[],"class_list":{"0":"post-37716","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - &#039;Separate Squares I&#039; Problemi (C++, Python, JavaScript) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - &#039;Separate Squares I&#039; Problemi (C++, Python, JavaScript)\" \/>\n<meta property=\"og:description\" content=\"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - &#039;Separate Squares I&#039; Problemi (C++, Python, JavaScript) Programlama d\u00fcnyas\u0131na yeni ad\u0131m atanlar veya algoritma...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-13T10:30:44+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)\",\"datePublished\":\"2026-01-13T10:30:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\"},\"wordCount\":2018,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\",\"name\":\"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - 'Separate Squares I' Problemi (C++, Python, JavaScript) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-13T10:30:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - 'Separate Squares I' Problemi (C++, Python, JavaScript) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/","og_locale":"tr_TR","og_type":"article","og_title":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - 'Separate Squares I' Problemi (C++, Python, JavaScript)","og_description":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - 'Separate Squares I' Problemi (C++, Python, JavaScript) Programlama d\u00fcnyas\u0131na yeni ad\u0131m atanlar veya algoritma...","og_url":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-13T10:30:44+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)","datePublished":"2026-01-13T10:30:44+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/"},"wordCount":2018,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/","url":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/","name":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 - 'Separate Squares I' Problemi (C++, Python, JavaScript) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-13T10:30:44+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/baslangic-dostu-rehber-leetcode-3453-separate-squares-i-problemi-c-python-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ba\u015flang\u0131\u00e7 Dostu Rehber: LeetCode 3453 &#8211; &#8216;Separate Squares I&#8217; Problemi (C++, Python, JavaScript)"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37716"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37716\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}