{"data":{"allChallengeNode":{"edges":[{"node":{"challenge":{"id":"bd7123c8c441eddfaeb5bdef","block":"basic-html-and-html5","challengeType":0,"title":"Dites bonjour aux éléments HTML","order":0,"superBlock":"responsive-web-design","dashedName":"say-hello-to-html-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf0887a","block":"basic-html-and-html5","challengeType":0,"title":"Titre avec l'élément h2","order":0,"superBlock":"responsive-web-design","dashedName":"headline-with-the-h2-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/headline-with-the-h2-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08801","block":"basic-html-and-html5","challengeType":0,"title":"Informer avec l'élément Paragraphe","order":0,"superBlock":"responsive-web-design","dashedName":"inform-with-the-paragraph-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/inform-with-the-paragraph-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08833","block":"basic-html-and-html5","challengeType":0,"title":"Remplir le vide avec du texte de remplacement","order":0,"superBlock":"responsive-web-design","dashedName":"fill-in-the-blank-with-placeholder-text","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/fill-in-the-blank-with-placeholder-text","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08802","block":"basic-html-and-html5","challengeType":0,"title":"Décommenter le HTML","order":0,"superBlock":"responsive-web-design","dashedName":"uncomment-html","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/uncomment-html","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08804","block":"basic-html-and-html5","challengeType":0,"title":"Commenter le code HTML","order":0,"superBlock":"responsive-web-design","dashedName":"comment-out-html","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/comment-out-html","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fed1348bd9aedf08833","block":"basic-html-and-html5","challengeType":0,"title":"Supprimer des éléments HTML","order":0,"superBlock":"responsive-web-design","dashedName":"delete-html-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/delete-html-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecf08801","block":"basic-html-and-html5","challengeType":0,"title":"Introduction aux éléments HTML5","order":0,"superBlock":"responsive-web-design","dashedName":"introduction-to-html5-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/introduction-to-html5-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08812","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter des images à votre site Web","order":0,"superBlock":"responsive-web-design","dashedName":"add-images-to-your-website","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-images-to-your-website","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08816","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens vers des pages externes avec des éléments d'ancrage","order":0,"superBlock":"responsive-web-design","dashedName":"link-to-external-pages-with-anchor-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/link-to-external-pages-with-anchor-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad88fee1348bd9aedf08816","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens vers les sections internes d'une page avec des éléments d'ancrage","order":0,"superBlock":"responsive-web-design","dashedName":"link-to-internal-sections-of-a-page-with-anchor-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/link-to-internal-sections-of-a-page-with-anchor-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08817","block":"basic-html-and-html5","challengeType":0,"title":"Incorporer un élément d'ancrage dans un paragraphe","order":0,"superBlock":"responsive-web-design","dashedName":"nest-an-anchor-element-within-a-paragraph","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/nest-an-anchor-element-within-a-paragraph","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08817","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens morts en utilisant le symbole du dièse","order":0,"superBlock":"responsive-web-design","dashedName":"make-dead-links-using-the-hash-symbol","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/make-dead-links-using-the-hash-symbol","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08820","block":"basic-html-and-html5","challengeType":0,"title":"Transformer une image en lien","order":0,"superBlock":"responsive-web-design","dashedName":"turn-an-image-into-a-link","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/turn-an-image-into-a-link","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08827","block":"basic-html-and-html5","challengeType":0,"title":"Créer une liste non ordonnée à puces","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-bulleted-unordered-list","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-bulleted-unordered-list","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08828","block":"basic-html-and-html5","challengeType":0,"title":"Créer une liste ordonnée","order":0,"superBlock":"responsive-web-design","dashedName":"create-an-ordered-list","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-an-ordered-list","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08829","block":"basic-html-and-html5","challengeType":0,"title":"Créer une zone de texte","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-text-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-text-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08830","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter un texte de remplacement à un champ de texte","order":0,"superBlock":"responsive-web-design","dashedName":"add-placeholder-text-to-a-text-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-placeholder-text-to-a-text-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08830","block":"basic-html-and-html5","challengeType":0,"title":"Créer un élément de formulaire","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-form-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-form-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08830","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter un bouton de soumission à un formulaire","order":0,"superBlock":"responsive-web-design","dashedName":"add-a-submit-button-to-a-form","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-a-submit-button-to-a-form","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08830","block":"basic-html-and-html5","challengeType":0,"title":"Utilisez HTML5 pour rendre un champ obligatoire","order":0,"superBlock":"responsive-web-design","dashedName":"use-html5-to-require-a-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/use-html5-to-require-a-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08834","block":"basic-html-and-html5","challengeType":0,"title":"Créer un ensemble de boutons radio","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-set-of-radio-buttons","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08835","block":"basic-html-and-html5","challengeType":0,"title":"Créer un ensemble de cases à cocher","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-set-of-checkboxes","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-checkboxes","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"5c6c06847491271903d37cfd","block":"basic-html-and-html5","challengeType":0,"title":"Utilisez l'attribut value avec les boutons radio et les cases à cocher.","order":0,"superBlock":"responsive-web-design","dashedName":"use-the-value-attribute-with-radio-buttons-and-checkboxes","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/use-the-value-attribute-with-radio-buttons-and-checkboxes","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08835","block":"basic-html-and-html5","challengeType":0,"title":"Vérifier les boutons radio et les cases à cocher par défaut","order":0,"superBlock":"responsive-web-design","dashedName":"check-radio-buttons-and-checkboxes-by-default","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08835","block":"basic-html-and-html5","challengeType":0,"title":"Intégration de plusieurs éléments dans un seul élément div","order":0,"superBlock":"responsive-web-design","dashedName":"nest-many-elements-within-a-single-div-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/nest-many-elements-within-a-single-div-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"587d78aa367417b2b2512aed","block":"basic-html-and-html5","challengeType":0,"title":"Déclarer le Doctype d'un document HTML","order":0,"superBlock":"responsive-web-design","dashedName":"declare-the-doctype-of-an-html-document","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/declare-the-doctype-of-an-html-document","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"587d78aa367417b2b2512aec","block":"basic-html-and-html5","challengeType":0,"title":"Définir l'en-tête et le corps d'un document HTML","order":0,"superBlock":"responsive-web-design","dashedName":"define-the-head-and-body-of-an-html-document","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08803","block":"basic-css","challengeType":0,"title":"Modifier la couleur du texte","order":1,"superBlock":"responsive-web-design","dashedName":"change-the-color-of-text","fields":{"slug":"/learn/responsive-web-design/basic-css/change-the-color-of-text","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08805","block":"basic-css","challengeType":0,"title":"Utiliser les sélecteurs CSS pour styliser les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-css-selectors-to-style-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-css-selectors-to-style-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecf08806","block":"basic-css","challengeType":0,"title":"Utiliser une classe CSS pour styliser un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-css-class-to-style-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-css-class-to-style-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aefe08806","block":"basic-css","challengeType":0,"title":"Styliser plusieurs éléments avec une classe CSS","order":1,"superBlock":"responsive-web-design","dashedName":"style-multiple-elements-with-a-css-class","fields":{"slug":"/learn/responsive-web-design/basic-css/style-multiple-elements-with-a-css-class","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08806","block":"basic-css","challengeType":0,"title":"Modifier la taille de la police d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"change-the-font-size-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/change-the-font-size-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08807","block":"basic-css","challengeType":0,"title":"Définir la famille de police d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"set-the-font-family-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/set-the-font-family-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08807","block":"basic-css","challengeType":0,"title":"Importer une police Google Font","order":1,"superBlock":"responsive-web-design","dashedName":"import-a-google-font","fields":{"slug":"/learn/responsive-web-design/basic-css/import-a-google-font","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08808","block":"basic-css","challengeType":0,"title":"Spécifier comment les polices doivent se dégrader","order":1,"superBlock":"responsive-web-design","dashedName":"specify-how-fonts-should-degrade","fields":{"slug":"/learn/responsive-web-design/basic-css/specify-how-fonts-should-degrade","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acdf08812","block":"basic-css","challengeType":0,"title":"Dimensionnez vos images","order":1,"superBlock":"responsive-web-design","dashedName":"size-your-images","fields":{"slug":"/learn/responsive-web-design/basic-css/size-your-images","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bedf08813","block":"basic-css","challengeType":0,"title":"Ajoutez des bordures autour de vos éléments","order":1,"superBlock":"responsive-web-design","dashedName":"add-borders-around-your-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/add-borders-around-your-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08814","block":"basic-css","challengeType":0,"title":"Ajouter des coins arrondis avec border-radius","order":1,"superBlock":"responsive-web-design","dashedName":"add-rounded-corners-with-border-radius","fields":{"slug":"/learn/responsive-web-design/basic-css/add-rounded-corners-with-border-radius","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08815","block":"basic-css","challengeType":0,"title":"Créer des images circulaires avec border-radius","order":1,"superBlock":"responsive-web-design","dashedName":"make-circular-images-with-a-border-radius","fields":{"slug":"/learn/responsive-web-design/basic-css/make-circular-images-with-a-border-radius","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fed1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Donner une couleur de fond à un élément div","order":1,"superBlock":"responsive-web-design","dashedName":"give-a-background-color-to-a-div-element","fields":{"slug":"/learn/responsive-web-design/basic-css/give-a-background-color-to-a-div-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87eee1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Définir l'identifiant d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"set-the-id-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/set-the-id-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87dee1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Utiliser un attribut id pour styliser un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-an-id-attribute-to-style-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-an-id-attribute-to-style-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad88fee1348bd9aedf08825","block":"basic-css","challengeType":0,"title":"Ajuster la marge interne d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"adjust-the-padding-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/adjust-the-padding-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08822","block":"basic-css","challengeType":0,"title":"Ajuster la marge d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"adjust-the-margin-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/adjust-the-margin-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08823","block":"basic-css","challengeType":0,"title":"Ajouter une marge négative à un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-a-negative-margin-to-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-a-negative-margin-to-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08824","block":"basic-css","challengeType":0,"title":"Ajouter une marge interne différente de chaque côté d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-different-padding-to-each-side-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-different-padding-to-each-side-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1248bd9aedf08824","block":"basic-css","challengeType":0,"title":"Ajouter des marges différentes de chaque côté d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-different-margins-to-each-side-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-different-margins-to-each-side-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08826","block":"basic-css","challengeType":0,"title":"Utiliser la notation dans le sens des aiguilles d'une montre pour spécifier la marge interne d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-clockwise-notation-to-specify-the-padding-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-padding-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9afdf08726","block":"basic-css","challengeType":0,"title":"Utiliser la notation dans le sens des aiguilles d'une montre pour spécifier la marge d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-clockwise-notation-to-specify-the-margin-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-margin-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"58c383d33e2e3259241f3076","block":"basic-css","challengeType":0,"title":"Utiliser les sélecteurs d'attributs pour styliser les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-attribute-selectors-to-style-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-attribute-selectors-to-style-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad82fee1322bd9aedf08721","block":"basic-css","challengeType":0,"title":"Comprendre les unités absolues et relatives","order":1,"superBlock":"responsive-web-design","dashedName":"understand-absolute-versus-relative-units","fields":{"slug":"/learn/responsive-web-design/basic-css/understand-absolute-versus-relative-units","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08736","block":"basic-css","challengeType":0,"title":"Styliser l'élément HTML Body","order":1,"superBlock":"responsive-web-design","dashedName":"style-the-html-body-element","fields":{"slug":"/learn/responsive-web-design/basic-css/style-the-html-body-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08746","block":"basic-css","challengeType":0,"title":"Hériter des styles de l'élément Body","order":1,"superBlock":"responsive-web-design","dashedName":"inherit-styles-from-the-body-element","fields":{"slug":"/learn/responsive-web-design/basic-css/inherit-styles-from-the-body-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08756","block":"basic-css","challengeType":0,"title":"Donner la priorité à un style plutôt qu'à un autre","order":1,"superBlock":"responsive-web-design","dashedName":"prioritize-one-style-over-another","fields":{"slug":"/learn/responsive-web-design/basic-css/prioritize-one-style-over-another","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf04756","block":"basic-css","challengeType":0,"title":"Remplacer les styles dans le CSS suivant","order":1,"superBlock":"responsive-web-design","dashedName":"override-styles-in-subsequent-css","fields":{"slug":"/learn/responsive-web-design/basic-css/override-styles-in-subsequent-css","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd8aedf06756","block":"basic-css","challengeType":0,"title":"Remplacer les déclarations de classe par des attributs d'ID de style","order":1,"superBlock":"responsive-web-design","dashedName":"override-class-declarations-by-styling-id-attributes","fields":{"slug":"/learn/responsive-web-design/basic-css/override-class-declarations-by-styling-id-attributes","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf06756","block":"basic-css","challengeType":0,"title":"Remplacer les déclarations de classe par des styles en ligne","order":1,"superBlock":"responsive-web-design","dashedName":"override-class-declarations-with-inline-styles","fields":{"slug":"/learn/responsive-web-design/basic-css/override-class-declarations-with-inline-styles","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf07756","block":"basic-css","challengeType":0,"title":"Remplacez tous les autres styles en utilisant Important","order":1,"superBlock":"responsive-web-design","dashedName":"override-all-other-styles-by-using-important","fields":{"slug":"/learn/responsive-web-design/basic-css/override-all-other-styles-by-using-important","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08726","block":"basic-css","challengeType":0,"title":"Utiliser le code hexadécimal pour des couleurs spécifiques","order":1,"superBlock":"responsive-web-design","dashedName":"use-hex-code-for-specific-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-hex-code-for-specific-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08721","block":"basic-css","challengeType":0,"title":"Utilisez le code hexadécimal pour mélanger les couleurs","order":1,"superBlock":"responsive-web-design","dashedName":"use-hex-code-to-mix-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-hex-code-to-mix-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08719","block":"basic-css","challengeType":0,"title":"Utiliser un code hexadécimal abrégé","order":1,"superBlock":"responsive-web-design","dashedName":"use-abbreviated-hex-code","fields":{"slug":"/learn/responsive-web-design/basic-css/use-abbreviated-hex-code","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08718","block":"basic-css","challengeType":0,"title":"Utiliser les valeurs RGB pour colorer les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-rgb-values-to-color-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-rgb-values-to-color-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad82fee1348bd9aedf08721","block":"basic-css","challengeType":0,"title":"Utiliser RGB pour mélanger les couleurs","order":1,"superBlock":"responsive-web-design","dashedName":"use-rgb-to-mix-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-rgb-to-mix-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d725e424fe3d0e10cad10","block":"basic-css","challengeType":0,"title":"Utilisez les variables CSS pour modifier plusieurs elements à la fois","order":1,"superBlock":"responsive-web-design","dashedName":"use-css-variables-to-change-several-elements-at-once","fields":{"slug":"/learn/responsive-web-design/basic-css/use-css-variables-to-change-several-elements-at-once","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d726c424fe3d0e10cad11","block":"basic-css","challengeType":0,"title":"Créer une variable CSS personnalisée","order":1,"superBlock":"responsive-web-design","dashedName":"create-a-custom-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/create-a-custom-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d727a424fe3d0e10cad12","block":"basic-css","challengeType":0,"title":"Utilisez une variable CSS personnalisée","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-custom-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-custom-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d7286424fe3d0e10cad13","block":"basic-css","challengeType":0,"title":"Attacher une valeur de repli à une variable CSS","order":1,"superBlock":"responsive-web-design","dashedName":"attach-a-fallback-value-to-a-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/attach-a-fallback-value-to-a-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5b7d72c338cd7e35b63f3e14","block":"basic-css","challengeType":0,"title":"Amélioration de la compatibilité avec les anciennes versions des navigateurs","order":1,"superBlock":"responsive-web-design","dashedName":"improve-compatibility-with-browser-fallbacks","fields":{"slug":"/learn/responsive-web-design/basic-css/improve-compatibility-with-browser-fallbacks","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d7295424fe3d0e10cad14","block":"basic-css","challengeType":0,"title":"Hériter des variables CSS","order":1,"superBlock":"responsive-web-design","dashedName":"inherit-css-variables","fields":{"slug":"/learn/responsive-web-design/basic-css/inherit-css-variables","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d72a1424fe3d0e10cad15","block":"basic-css","challengeType":0,"title":"Modifier une variable pour une zone spécifique","order":1,"superBlock":"responsive-web-design","dashedName":"change-a-variable-for-a-specific-area","fields":{"slug":"/learn/responsive-web-design/basic-css/change-a-variable-for-a-specific-area","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d72ad424fe3d0e10cad16","block":"basic-css","challengeType":0,"title":"Utilisez une requête média pour modifier une variable","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-media-query-to-change-a-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-media-query-to-change-a-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab3","block":"applied-visual-design","challengeType":0,"title":"Créer un équilibre visuel en utilisant la propriété text-align","order":2,"superBlock":"responsive-web-design","dashedName":"create-visual-balance-using-the-text-align-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-visual-balance-using-the-text-align-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab4","block":"applied-visual-design","challengeType":0,"title":"Ajuster la largeur d'un élément à l'aide de la propriété width","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-width-of-an-element-using-the-width-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-width-of-an-element-using-the-width-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab5","block":"applied-visual-design","challengeType":0,"title":"Ajuster la hauteur d'un élément à l'aide de la propriété height","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-height-of-an-element-using-the-height-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-height-of-an-element-using-the-height-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab7","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise strong pour mettre le texte en gras","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-strong-tag-to-make-text-bold","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-strong-tag-to-make-text-bold","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab8","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise u pour souligner du texte","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-u-tag-to-underline-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab9","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise em pour mettre le texte en italique","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-em-tag-to-italicize-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-em-tag-to-italicize-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512aba","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise s pour barrer le texte","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-s-tag-to-strikethrough-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-s-tag-to-strikethrough-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abb","block":"applied-visual-design","challengeType":0,"title":"Créer une ligne horizontale à l'aide du hr","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-horizontal-line-using-the-hr-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abc","block":"applied-visual-design","challengeType":0,"title":"Ajustez la propriété de couleur d'arrière-plan du texte","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-background-color-property-of-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-background-color-property-of-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abd","block":"applied-visual-design","challengeType":0,"title":"Ajuster la taille d'un élément d'en-tête par rapport à un élément de paragraphe","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-size-of-a-heading-element-versus-a-paragraph-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-size-of-a-heading-element-versus-a-paragraph-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abe","block":"applied-visual-design","challengeType":0,"title":"Ajouter un  box-shadow à un élément de type carte","order":2,"superBlock":"responsive-web-design","dashedName":"add-a-box-shadow-to-a-card-like-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/add-a-box-shadow-to-a-card-like-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512abf","block":"applied-visual-design","challengeType":0,"title":"Diminuer l'opacité d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"decrease-the-opacity-of-an-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/decrease-the-opacity-of-an-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac0","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété text-transform pour mettre le texte en majuscules.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-text-transform-property-to-make-text-uppercase","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-text-transform-property-to-make-text-uppercase","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac2","block":"applied-visual-design","challengeType":0,"title":"Définir la taille de la police pour les éléments à en-tête multiples","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-size-for-multiple-heading-elements","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac3","block":"applied-visual-design","challengeType":0,"title":"Définir le poids de la police pour plusieurs éléments d'en-tête","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-weight-for-multiple-heading-elements","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-weight-for-multiple-heading-elements","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac4","block":"applied-visual-design","challengeType":0,"title":"Définir la taille de la police du texte du paragraphe","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-size-of-paragraph-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-size-of-paragraph-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781d367417b2b2512ac5","block":"applied-visual-design","challengeType":0,"title":"Définir la hauteur de ligne des Paragraphes","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-line-height-of-paragraphs","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-line-height-of-paragraphs","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781d367417b2b2512ac8","block":"applied-visual-design","challengeType":0,"title":"Ajuster l'état de survol d'une balise d'ancrage","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-hover-state-of-an-anchor-tag","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-hover-state-of-an-anchor-tag","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512ac9","block":"applied-visual-design","challengeType":0,"title":"Modifier la position relative d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"change-an-elements-relative-position","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-an-elements-relative-position","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512aca","block":"applied-visual-design","challengeType":0,"title":"Déplacer un élément positionné de façon relative avec les décalages CSS","order":2,"superBlock":"responsive-web-design","dashedName":"move-a-relatively-positioned-element-with-css-offsets","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/move-a-relatively-positioned-element-with-css-offsets","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512acb","block":"applied-visual-design","challengeType":0,"title":"Verrouiller un élément à son parent avec le positionnement absolu","order":2,"superBlock":"responsive-web-design","dashedName":"lock-an-element-to-its-parent-with-absolute-positioning","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/lock-an-element-to-its-parent-with-absolute-positioning","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512acc","block":"applied-visual-design","challengeType":0,"title":"Verrouiller un élément dans la fenêtre du navigateur avec un positionnement fixe","order":2,"superBlock":"responsive-web-design","dashedName":"lock-an-element-to-the-browser-window-with-fixed-positioning","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/lock-an-element-to-the-browser-window-with-fixed-positioning","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ace","block":"applied-visual-design","challengeType":0,"title":"Pousser les éléments à gauche ou à droite avec la propriété float","order":2,"superBlock":"responsive-web-design","dashedName":"push-elements-left-or-right-with-the-float-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/push-elements-left-or-right-with-the-float-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512acf","block":"applied-visual-design","challengeType":0,"title":"Modifier la position des éléments superposés avec la propriété z-index","order":2,"superBlock":"responsive-web-design","dashedName":"change-the-position-of-overlapping-elements-with-the-z-index-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-the-position-of-overlapping-elements-with-the-z-index-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ad0","block":"applied-visual-design","challengeType":0,"title":"Centrer un élément horizontalement à l'aide de la propriété margin","order":2,"superBlock":"responsive-web-design","dashedName":"center-an-element-horizontally-using-the-margin-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/center-an-element-horizontally-using-the-margin-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ad1","block":"applied-visual-design","challengeType":0,"title":"Découvrez les couleurs complémentaires","order":2,"superBlock":"responsive-web-design","dashedName":"learn-about-complementary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-about-complementary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad2","block":"applied-visual-design","challengeType":0,"title":"Découvrez les couleurs tertiaires","order":2,"superBlock":"responsive-web-design","dashedName":"learn-about-tertiary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-about-tertiary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad3","block":"applied-visual-design","challengeType":0,"title":"Ajuster la couleur de divers éléments à des couleurs complémentaires","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-color-of-various-elements-to-complementary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-color-of-various-elements-to-complementary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad4","block":"applied-visual-design","challengeType":0,"title":"Ajuster la nuance d'une couleur","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-hue-of-a-color","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-hue-of-a-color","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad5","block":"applied-visual-design","challengeType":0,"title":"Ajuster la nuance d'une couleur","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-tone-of-a-color","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-tone-of-a-color","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad6","block":"applied-visual-design","challengeType":0,"title":"Créer un dégradé linéaire en CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-gradual-css-linear-gradient","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-gradual-css-linear-gradient","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad7","block":"applied-visual-design","challengeType":0,"title":"Utilisez un dégradé linéaire CSS pour créer un élément rayé","order":2,"superBlock":"responsive-web-design","dashedName":"use-a-css-linear-gradient-to-create-a-striped-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-a-css-linear-gradient-to-create-a-striped-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad8","block":"applied-visual-design","challengeType":0,"title":"Créez de la texture en ajoutant un motif subtil comme image de fond","order":2,"superBlock":"responsive-web-design","dashedName":"create-texture-by-adding-a-subtle-pattern-as-a-background-image","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-texture-by-adding-a-subtle-pattern-as-a-background-image","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad9","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété d'échelle de transformation CSS pour modifier la taille d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-scale-property-to-change-the-size-of-an-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-change-the-size-of-an-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ada","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété CSS Transform scale pour mettre à l'échelle un élément au survol de celui-ci.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-scale-property-to-scale-an-element-on-hover","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-scale-an-element-on-hover","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512adb","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété de transformation CSS skewX pour incliner un élément le long de l'axe X.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512adc","block":"applied-visual-design","challengeType":0,"title":"Utiliser la propriété de transformation CSS skewY pour incliner un élément le long de l'axe des Y","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512add","block":"applied-visual-design","challengeType":0,"title":"Créer un graphique à l'aide de CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-graphic-using-css","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-graphic-using-css","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512ade","block":"applied-visual-design","challengeType":0,"title":"Créer une forme plus complexe à l'aide de CSS et HTML","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-more-complex-shape-using-css-and-html","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-more-complex-shape-using-css-and-html","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512adf","block":"applied-visual-design","challengeType":0,"title":"Apprenez comment fonctionnent les propriétés CSS @keyframes et animation.","order":2,"superBlock":"responsive-web-design","dashedName":"learn-how-the-css-keyframes-and-animation-properties-work","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-how-the-css-keyframes-and-animation-properties-work","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae0","block":"applied-visual-design","challengeType":0,"title":"Utiliser l'animation CSS pour modifier l'état de survol d'un bouton","order":2,"superBlock":"responsive-web-design","dashedName":"use-css-animation-to-change-the-hover-state-of-a-button","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-css-animation-to-change-the-hover-state-of-a-button","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"58a7a6ebf9a6318348e2d5aa","block":"applied-visual-design","challengeType":0,"title":"Modifier le mode de remplissage d'une animation","order":2,"superBlock":"responsive-web-design","dashedName":"modify-fill-mode-of-an-animation","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/modify-fill-mode-of-an-animation","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae1","block":"applied-visual-design","challengeType":0,"title":"Créer du mouvement à l'aide de l'animation CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-movement-using-css-animation","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-movement-using-css-animation","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae2","block":"applied-visual-design","challengeType":0,"title":"Créer une direction visuelle en faisant disparaître un élément de gauche à droite","order":2,"superBlock":"responsive-web-design","dashedName":"create-visual-direction-by-fading-an-element-from-left-to-right","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-visual-direction-by-fading-an-element-from-left-to-right","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae3","block":"applied-visual-design","challengeType":0,"title":"Animer des éléments de façon continue en utilisant un nombre infini d'animations","order":2,"superBlock":"responsive-web-design","dashedName":"animate-elements-continually-using-an-infinite-animation-count","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-elements-continually-using-an-infinite-animation-count","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae4","block":"applied-visual-design","challengeType":0,"title":"Réaliser un battement de cœur CSS en utilisant un nombre infini d'animations","order":2,"superBlock":"responsive-web-design","dashedName":"make-a-css-heartbeat-using-an-infinite-animation-count","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/make-a-css-heartbeat-using-an-infinite-animation-count","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae5","block":"applied-visual-design","challengeType":0,"title":"Animer les éléments à des taux variables","order":2,"superBlock":"responsive-web-design","dashedName":"animate-elements-at-variable-rates","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-elements-at-variable-rates","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae6","block":"applied-visual-design","challengeType":0,"title":"Animer plusieurs éléments à des taux variables","order":2,"superBlock":"responsive-web-design","dashedName":"animate-multiple-elements-at-variable-rates","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-multiple-elements-at-variable-rates","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae7","block":"applied-visual-design","challengeType":0,"title":"Modifier le timing de l'animation avec des mots-clés","order":2,"superBlock":"responsive-web-design","dashedName":"change-animation-timing-with-keywords","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-animation-timing-with-keywords","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512ae8","block":"applied-visual-design","challengeType":0,"title":"Apprendre comment fonctionnent les courbes de Bézier","order":2,"superBlock":"responsive-web-design","dashedName":"learn-how-bezier-curves-work","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-how-bezier-curves-work","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512ae9","block":"applied-visual-design","challengeType":0,"title":"Utiliser une courbe de Bézier pour déplacer un graphique","order":2,"superBlock":"responsive-web-design","dashedName":"use-a-bezier-curve-to-move-a-graphic","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512aea","block":"applied-visual-design","challengeType":0,"title":"Rendre les mouvements plus naturels en utilisant une courbe de Bézier","order":2,"superBlock":"responsive-web-design","dashedName":"make-motion-more-natural-using-a-bezier-curve","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/make-motion-more-natural-using-a-bezier-curve","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d774c367417b2b2512a9c","block":"applied-accessibility","challengeType":0,"title":"Ajouter une alternative textuelle aux images pour l'accessibilité des malvoyants","order":3,"superBlock":"responsive-web-design","dashedName":"add-a-text-alternative-to-images-for-visually-impaired-accessibility","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774c367417b2b2512a9d","block":"applied-accessibility","challengeType":0,"title":"Savoir quand l'attribut Alt doit être laissé vide","order":3,"superBlock":"responsive-web-design","dashedName":"know-when-alt-text-should-be-left-blank","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774d367417b2b2512a9e","block":"applied-accessibility","challengeType":0,"title":"Utiliser des titres pour montrer les relations hiérarchiques du contenu","order":3,"superBlock":"responsive-web-design","dashedName":"use-headings-to-show-hierarchical-relationships-of-content","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774e367417b2b2512a9f","block":"applied-accessibility","challengeType":0,"title":"Accéder directement au contenu à l'aide de l'élément main","order":3,"superBlock":"responsive-web-design","dashedName":"jump-straight-to-the-content-using-the-main-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774e367417b2b2512aa0","block":"applied-accessibility","challengeType":0,"title":"Envelopper le contenu dans l'élément d'article","order":3,"superBlock":"responsive-web-design","dashedName":"wrap-content-in-the-article-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/wrap-content-in-the-article-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7787367417b2b2512aa1","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation des lecteurs d'écran grâce à la balise header","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-header-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7788367417b2b2512aa2","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation avec un lecteur d'écran grâce à la balise nav.","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-nav-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7788367417b2b2512aa3","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation des lecteurs d'écran avec la balise footer","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-footer-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7789367417b2b2512aa4","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité du contenu audio avec l'élément audio","order":3,"superBlock":"responsive-web-design","dashedName":"improve-accessibility-of-audio-content-with-the-audio-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778a367417b2b2512aa5","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité des figures avec l'élément figure","order":3,"superBlock":"responsive-web-design","dashedName":"improve-chart-accessibility-with-the-figure-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778a367417b2b2512aa6","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité des champs de formulaire avec l'élément label","order":3,"superBlock":"responsive-web-design","dashedName":"improve-form-field-accessibility-with-the-label-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778b367417b2b2512aa7","block":"applied-accessibility","challengeType":0,"title":"Envelopper les boutons radio dans un élément fieldset pour une meilleure accessibilité","order":3,"superBlock":"responsive-web-design","dashedName":"wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778b367417b2b2512aa8","block":"applied-accessibility","challengeType":0,"title":"Ajouter un sélecteur de dates accessible","order":3,"superBlock":"responsive-web-design","dashedName":"add-an-accessible-date-picker","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/add-an-accessible-date-picker","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778c367417b2b2512aa9","block":"applied-accessibility","challengeType":0,"title":"Normaliser les temps avec l'attribut datetime de HTML5","order":3,"superBlock":"responsive-web-design","dashedName":"standardize-times-with-the-html5-datetime-attribute","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/standardize-times-with-the-html5-datetime-attribute","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778d367417b2b2512aaa","block":"applied-accessibility","challengeType":0,"title":"Rendre les éléments uniquement visibles pour un lecteur d'écran à l'aide d'un CSS personnalisé","order":3,"superBlock":"responsive-web-design","dashedName":"make-elements-only-visible-to-a-screen-reader-by-using-custom-css","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778e367417b2b2512aab","block":"applied-accessibility","challengeType":0,"title":"Améliorer la lisibilité grâce à un texte à fort contraste","order":3,"superBlock":"responsive-web-design","dashedName":"improve-readability-with-high-contrast-text","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aac","block":"applied-accessibility","challengeType":0,"title":"Évitez les problèmes de daltonisme en utilisant un contraste suffisant","order":3,"superBlock":"responsive-web-design","dashedName":"avoid-colorblindness-issues-by-using-sufficient-contrast","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aad","block":"applied-accessibility","challengeType":0,"title":"Éviter les problèmes de daltonisme en choisissant soigneusement les couleurs qui véhiculent les informations","order":3,"superBlock":"responsive-web-design","dashedName":"avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aae","block":"applied-accessibility","challengeType":0,"title":"Donnez du sens aux liens en utilisant un texte de lien descriptif","order":3,"superBlock":"responsive-web-design","dashedName":"give-links-meaning-by-using-descriptive-link-text","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512aaf","block":"applied-accessibility","challengeType":0,"title":"Rendre les liens navigables avec les touches d'accès HTML","order":3,"superBlock":"responsive-web-design","dashedName":"make-links-navigable-with-html-access-keys","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512ab0","block":"applied-accessibility","challengeType":0,"title":"Utiliser tabindex pour ajouter le focus clavier à un élément","order":3,"superBlock":"responsive-web-design","dashedName":"use-tabindex-to-add-keyboard-focus-to-an-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512ab1","block":"applied-accessibility","challengeType":0,"title":"Utilisez tabindex pour spécifier l'ordre de la mise du focus du clavier pour plusieurs éléments","order":3,"superBlock":"responsive-web-design","dashedName":"use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d78b0367417b2b2512b08","block":"responsive-web-design-principles","challengeType":0,"title":"Créer une requête média (media query)","order":4,"superBlock":"responsive-web-design","dashedName":"create-a-media-query","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/create-a-media-query","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b09","block":"responsive-web-design-principles","challengeType":0,"title":"Rendre une image responsive","order":4,"superBlock":"responsive-web-design","dashedName":"make-an-image-responsive","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/make-an-image-responsive","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b0a","block":"responsive-web-design-principles","challengeType":0,"title":"Utilisez une image Retina pour les écrans à plus haute résolution","order":4,"superBlock":"responsive-web-design","dashedName":"use-a-retina-image-for-higher-resolution-displays","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/use-a-retina-image-for-higher-resolution-displays","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b0c","block":"responsive-web-design-principles","challengeType":0,"title":"Rendre la typographie responsive","order":4,"superBlock":"responsive-web-design","dashedName":"make-typography-responsive","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/make-typography-responsive","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af0","block":"css-flexbox","challengeType":0,"title":"Utilisez display : flex pour positionner deux boîtes.","order":5,"superBlock":"responsive-web-design","dashedName":"use-display-flex-to-position-two-boxes","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-display-flex-to-position-two-boxes","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af1","block":"css-flexbox","challengeType":0,"title":"Ajouter les superpouvoirs de Flex au Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"add-flex-superpowers-to-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/add-flex-superpowers-to-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af2","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour constituer une ligne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-direction-property-to-make-a-row","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-row","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af3","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer des lignes dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af4","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer une colonne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-direction-property-to-make-a-column","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-column","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af5","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer une colonne dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af6","block":"css-flexbox","challengeType":0,"title":"Aligner les éléments à l'aide de la propriété justify-content","order":5,"superBlock":"responsive-web-design","dashedName":"align-elements-using-the-justify-content-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af7","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété justify-content dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-justify-content-property-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-justify-content-property-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512af8","block":"css-flexbox","challengeType":0,"title":"Aligner les éléments à l'aide de la propriété align-items","order":5,"superBlock":"responsive-web-design","dashedName":"align-elements-using-the-align-items-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/align-elements-using-the-align-items-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512af9","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété align-items dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-align-items-property-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512afa","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-wrap pour envelopper une ligne ou une colonne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-wrap-property-to-wrap-a-row-or-column","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-wrap-property-to-wrap-a-row-or-column","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512afb","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-shrink pour rétrécir des éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-shrink-property-to-shrink-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-shrink-property-to-shrink-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afc","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété flex-grow pour étendre des éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-grow-property-to-expand-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-grow-property-to-expand-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afd","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-basis pour définir la taille initiale d'un élément","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-basis-property-to-set-the-initial-size-of-an-item","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-basis-property-to-set-the-initial-size-of-an-item","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afe","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété abrégée flex","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-shorthand-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-shorthand-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512aff","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété order pour réorganiser les éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-order-property-to-rearrange-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-order-property-to-rearrange-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78af367417b2b2512b00","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété align-self","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-align-self-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-align-self-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"5a858944d96184f06fd60d61","block":"css-grid","challengeType":0,"title":"Créez votre première grille (Grid) CSS","order":6,"superBlock":"responsive-web-design","dashedName":"create-your-first-css-grid","fields":{"slug":"/learn/responsive-web-design/css-grid/create-your-first-css-grid","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036d038fddaf9a66b5d32","block":"css-grid","challengeType":0,"title":"Ajouter des colonnes avec grid-template-columns","order":6,"superBlock":"responsive-web-design","dashedName":"add-columns-with-grid-template-columns","fields":{"slug":"/learn/responsive-web-design/css-grid/add-columns-with-grid-template-columns","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036e138fddaf9a66b5d33","block":"css-grid","challengeType":0,"title":"Ajouter des lignes avec grid-template-rows","order":6,"superBlock":"responsive-web-design","dashedName":"add-rows-with-grid-template-rows","fields":{"slug":"/learn/responsive-web-design/css-grid/add-rows-with-grid-template-rows","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d34","block":"css-grid","challengeType":0,"title":"Utilisez les unités de grille (Grid ) CSS pour modifier la taille des colonnes et des lignes","order":6,"superBlock":"responsive-web-design","dashedName":"use-css-grid-units-to-change-the-size-of-columns-and-rows","fields":{"slug":"/learn/responsive-web-design/css-grid/use-css-grid-units-to-change-the-size-of-columns-and-rows","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d35","block":"css-grid","challengeType":0,"title":"Créer un écart de colonne à l'aide de grid-column-gap","order":6,"superBlock":"responsive-web-design","dashedName":"create-a-column-gap-using-grid-column-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/create-a-column-gap-using-grid-column-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d36","block":"css-grid","challengeType":0,"title":"Créer un écart de ligne à l'aide de grid-row-gap","order":6,"superBlock":"responsive-web-design","dashedName":"create-a-row-gap-using-grid-row-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/create-a-row-gap-using-grid-row-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d37","block":"css-grid","challengeType":0,"title":"Ajouter des espaces plus rapidement avec grid-gap","order":6,"superBlock":"responsive-web-design","dashedName":"add-gaps-faster-with-grid-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/add-gaps-faster-with-grid-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90372638fddaf9a66b5d38","block":"css-grid","challengeType":0,"title":"Utilisez la grid-column pour contrôler l'espacement","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-column-to-control-spacing","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-column-to-control-spacing","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90373638fddaf9a66b5d39","block":"css-grid","challengeType":0,"title":"Utiliser le grid-row pour contrôler l'espacement","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-row-to-control-spacing","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-row-to-control-spacing","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90374338fddaf9a66b5d3a","block":"css-grid","challengeType":0,"title":"Aligner un élément horizontalement à l'aide de justify-self","order":6,"superBlock":"responsive-web-design","dashedName":"align-an-item-horizontally-using-justify-self","fields":{"slug":"/learn/responsive-web-design/css-grid/align-an-item-horizontally-using-justify-self","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90375238fddaf9a66b5d3b","block":"css-grid","challengeType":0,"title":"Aligner un élément verticalement à l'aide de align-self","order":6,"superBlock":"responsive-web-design","dashedName":"align-an-item-vertically-using-align-self","fields":{"slug":"/learn/responsive-web-design/css-grid/align-an-item-vertically-using-align-self","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90376038fddaf9a66b5d3c","block":"css-grid","challengeType":0,"title":"Aligner tous les éléments horizontalement à l'aide de justify-items","order":6,"superBlock":"responsive-web-design","dashedName":"align-all-items-horizontally-using-justify-items","fields":{"slug":"/learn/responsive-web-design/css-grid/align-all-items-horizontally-using-justify-items","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fdf869fb03452672e45b","block":"css-grid","challengeType":0,"title":"Aligner tous les éléments verticalement en utilisant align-items","order":6,"superBlock":"responsive-web-design","dashedName":"align-all-items-vertically-using-align-items","fields":{"slug":"/learn/responsive-web-design/css-grid/align-all-items-vertically-using-align-items","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe0569fb03452672e45c","block":"css-grid","challengeType":0,"title":"Diviser la grille (Grid) en un modèle de zone","order":6,"superBlock":"responsive-web-design","dashedName":"divide-the-grid-into-an-area-template","fields":{"slug":"/learn/responsive-web-design/css-grid/divide-the-grid-into-an-area-template","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe1369fb03452672e45d","block":"css-grid","challengeType":0,"title":"Placer des éléments dans des grilles à l'aide de la propriété grid-area","order":6,"superBlock":"responsive-web-design","dashedName":"place-items-in-grid-areas-using-the-grid-area-property","fields":{"slug":"/learn/responsive-web-design/css-grid/place-items-in-grid-areas-using-the-grid-area-property","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe2669fb03452672e45e","block":"css-grid","challengeType":0,"title":"Utiliser grid-area sans créer de modèle de zones","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-area-without-creating-an-areas-template","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-area-without-creating-an-areas-template","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe3669fb03452672e45f","block":"css-grid","challengeType":0,"title":"Réduire les répétitions à l'aide de la fonction repeat","order":6,"superBlock":"responsive-web-design","dashedName":"reduce-repetition-using-the-repeat-function","fields":{"slug":"/learn/responsive-web-design/css-grid/reduce-repetition-using-the-repeat-function","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe4469fb03452672e460","block":"css-grid","challengeType":0,"title":"Limiter la taille des éléments en utilisant la fonction minmax","order":6,"superBlock":"responsive-web-design","dashedName":"limit-item-size-using-the-minmax-function","fields":{"slug":"/learn/responsive-web-design/css-grid/limit-item-size-using-the-minmax-function","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe5469fb03452672e461","block":"css-grid","challengeType":0,"title":"Créer des mises en page flexibles en utilisant le remplissage automatique","order":6,"superBlock":"responsive-web-design","dashedName":"create-flexible-layouts-using-auto-fill","fields":{"slug":"/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fill","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe6269fb03452672e462","block":"css-grid","challengeType":0,"title":"Créer des mises en page flexibles à l'aide d'auto-fit","order":6,"superBlock":"responsive-web-design","dashedName":"create-flexible-layouts-using-auto-fit","fields":{"slug":"/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fit","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe7769fb03452672e463","block":"css-grid","challengeType":0,"title":"Utilisez les requêtes multimédia pour créer des mises en page réactives","order":6,"superBlock":"responsive-web-design","dashedName":"use-media-queries-to-create-responsive-layouts","fields":{"slug":"/learn/responsive-web-design/css-grid/use-media-queries-to-create-responsive-layouts","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe8569fb03452672e464","block":"css-grid","challengeType":0,"title":"Créer des grilles (Grids) dans des grilles (Grids)","order":6,"superBlock":"responsive-web-design","dashedName":"create-grids-within-grids","fields":{"slug":"/learn/responsive-web-design/css-grid/create-grids-within-grids","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"bd7123c9c441eddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Commentez votre code JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comment-your-javascript-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c443eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Déclarer des variables JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-javascript-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244a8","block":"basic-javascript","challengeType":1,"title":"Stockage des valeurs avec l'opérateur d'affectation","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"storing-values-with-the-assignment-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5ee127a03c3b35dd45426493","block":"basic-javascript","challengeType":1,"title":"Assigner la valeur d'une variable à une autre","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assigning-the-value-of-one-variable-to-another","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244a9","block":"basic-javascript","challengeType":1,"title":"Initialisation de variables avec l'opérateur d'affectation","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"initializing-variables-with-the-assignment-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c444eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Déclarer des variables de type String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-string-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244aa","block":"basic-javascript","challengeType":1,"title":"Comprendre les variables non initialisées","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-uninitialized-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ab","block":"basic-javascript","challengeType":1,"title":"Comprendre la sensibilité à la casse dans les variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-case-sensitivity-in-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b3f","block":"basic-javascript","challengeType":1,"title":"Explorer les différences entre les mots-clés var et let","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"explore-differences-between-the-var-and-let-keywords","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b41","block":"basic-javascript","challengeType":1,"title":"Déclarer une variable en lecture seule avec le mot-clé const","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-a-read-only-variable-with-the-const-keyword","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Additionner deux nombres avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-two-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Soustraire un nombre d'un autre avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"subtract-one-number-from-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1231c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Multiplier deux nombres avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb6bdef","block":"basic-javascript","challengeType":1,"title":"Diviser un nombre par un autre avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-number-by-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ac","block":"basic-javascript","challengeType":1,"title":"Incrémenter un nombre avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"increment-a-number-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ad","block":"basic-javascript","challengeType":1,"title":"Décrémenter un nombre avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"decrement-a-number-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1391c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Créer des nombres décimaux avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-decimal-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9c69feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Multiplier deux nombres décimaux avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-decimals-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9ca9feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Diviser un nombre décimal par un autre avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-decimal-by-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ae","block":"basic-javascript","challengeType":1,"title":"Trouver un reste en JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finding-a-remainder-in-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244af","block":"basic-javascript","challengeType":1,"title":"Affectation composée avec addition augmentée","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-addition","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b0","block":"basic-javascript","challengeType":1,"title":"Affectation composée avec soustraction augmentée","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-subtraction","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b1","block":"basic-javascript","challengeType":1,"title":"Assignation composée avec multiplication augmentée","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-multiplication","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b2","block":"basic-javascript","challengeType":1,"title":"Affectation composée avec division augmentée","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-division","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b5","block":"basic-javascript","challengeType":1,"title":"Echapper aux citations littérales dans les chaînes de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escaping-literal-quotes-in-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b4","block":"basic-javascript","challengeType":1,"title":"Citer des chaînes de caractères avec des guillemets simples","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"quoting-strings-with-single-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b6","block":"basic-javascript","challengeType":1,"title":"Séquences d'échappement dans les chaînes de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escape-sequences-in-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b7","block":"basic-javascript","challengeType":1,"title":"Concaténer des chaînes de caractères avec l'opérateur Plus","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-plus-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b8","block":"basic-javascript","challengeType":1,"title":"Concaténer des chaînes de caractères avec l'opérateur Plus-Egal","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-the-plus-equals-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b9","block":"basic-javascript","challengeType":1,"title":"Construire des chaînes de caractères avec des variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"constructing-strings-with-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ed","block":"basic-javascript","challengeType":1,"title":"Ajouter des variables aux chaînes de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"appending-variables-to-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c448eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Trouver la longueur d'une chaîne de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-length-of-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c549eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Utiliser la notation entre crochets pour trouver le premier caractère d'une chaîne de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-first-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ba","block":"basic-javascript","challengeType":1,"title":"Comprendre l'immuabilité des chaînes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-string-immutability","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c450eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Utiliser la notation entre crochets pour trouver le Nième caractère d'une chaîne de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c451eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Utiliser la notation entre crochets pour trouver le dernier caractère d'une chaîne de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-last-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c452eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Utiliser la notation entre crochets pour trouver le énième avant-dernier caractère d'une chaîne de caractères","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-to-last-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-to-last-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bb","block":"basic-javascript","challengeType":1,"title":"Mots blancs","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"word-blanks","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/word-blanks","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9c69feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Stocker plusieurs valeurs dans une variable à l'aide de tableaux JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"store-multiple-values-in-one-variable-using-javascript-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Imbriquer un tableau dans un autre tableau","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nest-one-array-within-another-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392ca","block":"basic-javascript","challengeType":1,"title":"Accéder aux données d'un tableau avec des indices","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-array-data-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Modifier les données d'un tableau avec des indices","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-array-data-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56592a60ddddeae28f7aa8e1","block":"basic-javascript","challengeType":1,"title":"Accéder aux tableaux multidimensionnels avec des indices","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-multi-dimensional-arrays-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cb","block":"basic-javascript","challengeType":1,"title":"Manipuler les tableaux avec push()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-push","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cc","block":"basic-javascript","challengeType":1,"title":"Manipuler les tableaux avec pop()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-pop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cd","block":"basic-javascript","challengeType":1,"title":"Manipuler les tableaux avec shift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-shift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392ce","block":"basic-javascript","challengeType":1,"title":"Manipuler les tableaux avec unshift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-unshift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bc","block":"basic-javascript","challengeType":1,"title":"Liste d'achats","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"shopping-list","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/shopping-list","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cf","block":"basic-javascript","challengeType":1,"title":"Écrire du JavaScript réutilisable avec des fonctions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-reusable-javascript-with-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bd","block":"basic-javascript","challengeType":1,"title":"Passer des valeurs aux fonctions avec des arguments","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"passing-values-to-functions-with-arguments","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c2","block":"basic-javascript","challengeType":1,"title":"Retourner une valeur à partir d'une fonction avec Return","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-value-from-a-function-with-return","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244be","block":"basic-javascript","challengeType":1,"title":"Portée et fonctions globales","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-scope-and-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bf","block":"basic-javascript","challengeType":1,"title":"Portée locale et fonctions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"local-scope-and-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c0","block":"basic-javascript","challengeType":1,"title":"Portée globale versus locale dans les fonctions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-vs--local-scope-in-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-vs--local-scope-in-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"598e8944f009e646fc236146","block":"basic-javascript","challengeType":1,"title":"Comprendre la valeur indéfinie renvoyée par une fonction","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-undefined-value-returned-from-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c3","block":"basic-javascript","challengeType":1,"title":"Affectation avec une valeur renvoyée","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assignment-with-a-returned-value","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c6","block":"basic-javascript","challengeType":1,"title":"Faire la queue","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"stand-in-line","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c441eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Comprendre les valeurs booléennes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-boolean-values","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Utiliser la logique conditionnelle avec les instructions If","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-conditional-logic-with-if-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d0","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur d'égalité","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d1","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur d'égalité stricte","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"599a789b454f2bbd91a3ff4d","block":"basic-javascript","challengeType":1,"title":"Entraînez-vous à comparer différentes valeurs","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"practice-comparing-different-values","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d2","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur d'inégalité","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-inequality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d3","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur d'inégalité stricte","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-inequality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d4","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur plus grand que","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d5","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur plus grand que ou égal à","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-or-equal-to-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d6","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur inférieur à","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d7","block":"basic-javascript","challengeType":1,"title":"Comparaison avec l'opérateur \"inférieur ou égal à\"","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-or-equal-to-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d8","block":"basic-javascript","challengeType":1,"title":"Comparaisons avec l'opérateur logique Et","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-and-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d9","block":"basic-javascript","challengeType":1,"title":"Comparaisons avec l'opérateur logique ou","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-or-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244da","block":"basic-javascript","challengeType":1,"title":"Introduction des instructions Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244db","block":"basic-javascript","challengeType":1,"title":"Introduction des instructions Else If","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-if-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5690307fddb111c6084545d7","block":"basic-javascript","challengeType":1,"title":"Ordre logique dans les instructions If Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"logical-order-in-if-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244dc","block":"basic-javascript","challengeType":1,"title":"Enchaînement d'instructions If Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chaining-if-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5664820f61c48e80c9fa476c","block":"basic-javascript","challengeType":1,"title":"Code du golf","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"golf-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/golf-code","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244dd","block":"basic-javascript","challengeType":1,"title":"Sélection entre plusieurs options avec les instructions Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"selecting-from-many-options-with-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244de","block":"basic-javascript","challengeType":1,"title":"Ajouter une option par défaut dans les instructions Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"adding-a-default-option-in-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244df","block":"basic-javascript","challengeType":1,"title":"Plusieurs options identiques dans les déclarations Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiple-identical-options-in-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e0","block":"basic-javascript","challengeType":1,"title":"Remplacer les chaînes \"If Else\" par \"Switch\".","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replacing-if-else-chains-with-switch","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5679ceb97cbaa8c51670a16b","block":"basic-javascript","challengeType":1,"title":"Renvoyer des valeurs booléennes à partir de fonctions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"returning-boolean-values-from-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c4","block":"basic-javascript","challengeType":1,"title":"Modèle de retour anticipé des fonctions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-early-pattern-for-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"565bbe00e9cc8ac0725390f4","block":"basic-javascript","challengeType":1,"title":"Comptage des cartes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"counting-cards","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/counting-cards","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d0","block":"basic-javascript","challengeType":1,"title":"Construire des objets JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"build-javascript-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c7","block":"basic-javascript","challengeType":1,"title":"Accès aux propriétés des objets avec la notation en points","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-dot-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c8","block":"basic-javascript","challengeType":1,"title":"Accéder aux propriétés d'un objet avec la notation entre crochets","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c9","block":"basic-javascript","challengeType":1,"title":"Accéder aux propriétés des objets avec des variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d1","block":"basic-javascript","challengeType":1,"title":"Mettre à jour les propriétés des objets","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"updating-object-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d2","block":"basic-javascript","challengeType":1,"title":"Ajouter de nouvelles propriétés à un objet JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-new-properties-to-a-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d3","block":"basic-javascript","challengeType":1,"title":"Supprimer les propriétés d'un objet JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"delete-properties-from-a-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ca","block":"basic-javascript","challengeType":1,"title":"Utilisation d'objets pour les recherches","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-objects-for-lookups","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"567af2437cbaa8c51670a16c","block":"basic-javascript","challengeType":1,"title":"Vérifier la présence de propriétés dans les objets","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"testing-objects-for-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cb","block":"basic-javascript","challengeType":1,"title":"Manipulation d'objets complexes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulating-complex-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cc","block":"basic-javascript","challengeType":1,"title":"Accéder aux objets imbriqués","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cd","block":"basic-javascript","challengeType":1,"title":"Accéder aux tableaux imbriqués","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cf","block":"basic-javascript","challengeType":1,"title":"Collection de disques","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"record-collection","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Itérer avec les boucles While de JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-while-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Itérer avec les boucles For de JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56104e9e514f539506016a5c","block":"basic-javascript","challengeType":1,"title":"Itérer des nombres impairs avec une boucle For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-odd-numbers-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56105e7b514f539506016a5e","block":"basic-javascript","challengeType":1,"title":"Compter à rebours avec une boucle For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"count-backwards-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5675e877dbd60be8ad28edc6","block":"basic-javascript","challengeType":1,"title":"Parcourir un tableau avec une boucle For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-an-array-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e1","block":"basic-javascript","challengeType":1,"title":"Embriquer des boucles For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nesting-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5a2efd662fb457916e1fe604","block":"basic-javascript","challengeType":1,"title":"Itérer avec les boucles Do...While de JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-do---while-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do---while-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cfa3679138e7d9595b9d9d4","block":"basic-javascript","challengeType":1,"title":"Remplacer les boucles par des récursions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replace-loops-using-recursion","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5688e62ea601b2482ff8422b","block":"basic-javascript","challengeType":1,"title":"Recherche de profils","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"profile-lookup","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb9bdef","block":"basic-javascript","challengeType":1,"title":"Générer des fractions aléatoires avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-fractions-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Générer des nombres entiers aléatoires avec JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb2bdef","block":"basic-javascript","challengeType":1,"title":"Générer des nombres entiers aléatoires dans une plage de valeurs","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-within-a-range","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b23","block":"basic-javascript","challengeType":1,"title":"Utilisez la fonction parseInt","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b22","block":"basic-javascript","challengeType":1,"title":"Utiliser la fonction parseInt avec un radix","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function-with-a-radix","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b24","block":"basic-javascript","challengeType":1,"title":"Utiliser l'opérateur conditionnel (ternaire)","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-conditional-ternary-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b21","block":"basic-javascript","challengeType":1,"title":"Utiliser plusieurs opérateurs conditionnels (ternaires)","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-multiple-conditional-ternary-operators","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cd9a70215d3c4e65518328f","block":"basic-javascript","challengeType":1,"title":"Utiliser la récursion pour créer un compte à rebours","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-countdown","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cc0bd7a49b71cb96132e54c","block":"basic-javascript","challengeType":1,"title":"Utiliser la récursion pour créer une plage de nombres","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-range-of-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b40","block":"es6","challengeType":1,"title":"Comparer les portées des mots-clés var et let","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compare-scopes-of-the-var-and-let-keywords","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b42","block":"es6","challengeType":1,"title":"Mutation d'un tableau déclaré avec const.","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutate-an-array-declared-with-const","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const","blockName":"ES6"}}}},{"node":{"challenge":{"id":"598f48a36c8c40764b4e52b3","block":"es6","challengeType":1,"title":"Empêcher la mutation des objets","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-object-mutation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/prevent-object-mutation","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b43","block":"es6","challengeType":1,"title":"Utiliser les fonctions fléchées pour écrire des fonctions anonymes concises","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-arrow-functions-to-write-concise-anonymous-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b44","block":"es6","challengeType":1,"title":"Écrire des fonctions fléchées avec des paramètres","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-arrow-functions-with-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b46","block":"es6","challengeType":1,"title":"Définir les paramètres par défaut de vos fonctions","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-default-parameters-for-your-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b47","block":"es6","challengeType":1,"title":"Utiliser le paramètre Rest avec les paramètres de fonction","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-rest-parameter-with-function-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b48","block":"es6","challengeType":1,"title":"Utilisez l'opérateur d'étalement (Spread) pour évaluer des tableaux sur place.","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-spread-operator-to-evaluate-arrays-in-place","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cfa550e84205a357704ccb6","block":"es6","challengeType":1,"title":"Utiliser l'affectation de déstructuration pour extraire les valeurs des objets","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-extract-values-from-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b49","block":"es6","challengeType":1,"title":"Utiliser l'affectation de la déstructuration pour affecter des variables à partir d'objets","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b4a","block":"es6","challengeType":1,"title":"Utiliser l'affectation de déstructuration pour affecter des variables à partir d'objets imbriqués","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-nested-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b4b","block":"es6","challengeType":1,"title":"Utiliser l'affectation de déstructuration pour affecter des variables à partir de tableaux","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4c","block":"es6","challengeType":1,"title":"Utiliser l'affectation de déstructuration avec le paramètre Rest pour réaffecter les éléments d'un tableau","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4d","block":"es6","challengeType":1,"title":"Utiliser l'assignation de déstructuration pour passer un objet comme paramètre d'une fonction","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4e","block":"es6","challengeType":1,"title":"Créer des chaînes de caractères en utilisant des littéraux de modèle (Template literal)","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-strings-using-template-literals","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4f","block":"es6","challengeType":1,"title":"Écrire des déclarations concises de littéral d'objet en utilisant le raccourci de propriété d'objet","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-object-literal-declarations-using-object-property-shorthand","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8b367417b2b2512b50","block":"es6","challengeType":1,"title":"Écrire des fonctions déclaratives concises avec ES6","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-declarative-functions-with-es6","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8b367417b2b2512b53","block":"es6","challengeType":1,"title":"Utiliser la syntaxe des classes pour définir une fonction constructrice","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-class-syntax-to-define-a-constructor-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b54","block":"es6","challengeType":1,"title":"Utiliser les getters et setters pour contrôler l'accès à un objet","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-getters-and-setters-to-control-access-to-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cddbfd622f1a59093ec611d","block":"es6","challengeType":6,"title":"Créer un script de module","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-module-script","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-module-script","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b56","block":"es6","challengeType":1,"title":"Utiliser \"export\" pour partager un bloc de code","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-export-to-share-a-code-block","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b55","block":"es6","challengeType":1,"title":"Réutiliser le code JavaScript en utilisant import","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-javascript-code-using-import","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b57","block":"es6","challengeType":1,"title":"Utiliser * pour tout importer d'un fichier","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use--to-import-everything-from-a-file","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b58","block":"es6","challengeType":1,"title":"Créer un export fallback avec export default","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-an-export-fallback-with-export-default","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8d367417b2b2512b59","block":"es6","challengeType":1,"title":"Importer un export par défaut","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"import-a-default-export","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/import-a-default-export","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbb0291309899753167f","block":"es6","challengeType":1,"title":"Créer une promesse en JavaScript","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-javascript-promise","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-javascript-promise","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbc32913098997531680","block":"es6","challengeType":1,"title":"Compléter une promesse avec resolve et reject","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"complete-a-promise-with-resolve-and-reject","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbd72913098997531681","block":"es6","challengeType":1,"title":"Gérer une promesse tenue avec ten","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-fulfilled-promise-with-then","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbe72913098997531682","block":"es6","challengeType":1,"title":"Gérer une promesse rejetée avec catch","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-rejected-promise-with-catch","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7db3367417b2b2512b8e","block":"regular-expressions","challengeType":1,"title":"Utiliser la méthode test","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-the-test-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db3367417b2b2512b8f","block":"regular-expressions","challengeType":1,"title":"Faire correspondre des chaînes littérales","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-literal-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b90","block":"regular-expressions","challengeType":1,"title":"Faire correspondre une chaîne littérale avec différentes possibilités","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-a-literal-string-with-different-possibilities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b91","block":"regular-expressions","challengeType":1,"title":"Ignorer la casse lors de la correspondance","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"ignore-case-while-matching","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b92","block":"regular-expressions","challengeType":1,"title":"Extraire les correspondances","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extract-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/extract-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b93","block":"regular-expressions","challengeType":1,"title":"Trouver plus que la première correspondance","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-more-than-the-first-match","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b94","block":"regular-expressions","challengeType":1,"title":"Faites correspondre n'importe quoi avec le point","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-anything-with-wildcard-period","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b95","block":"regular-expressions","challengeType":1,"title":"Faire correspondre un seul caractère avec de multiples possibilités","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-character-with-multiple-possibilities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b96","block":"regular-expressions","challengeType":1,"title":"Faire correspondre les lettres de l'alphabet","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-letters-of-the-alphabet","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b97","block":"regular-expressions","challengeType":1,"title":"Associer les chiffres et les lettres de l'alphabet","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-numbers-and-letters-of-the-alphabet","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b98","block":"regular-expressions","challengeType":1,"title":"Faire correspondre des caractères uniques non spécifiés","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-characters-not-specified","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b99","block":"regular-expressions","challengeType":1,"title":"Rechercher des caractères qui apparaissent une ou plusieurs fois.","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-one-or-more-times","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b9a","block":"regular-expressions","challengeType":1,"title":"Trouver des caractères qui apparaissent zéro ou plusieurs fois.","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-zero-or-more-times","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b9b","block":"regular-expressions","challengeType":1,"title":"Trouver des caractères avec la correspondance paresseuse","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-characters-with-lazy-matching","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9c","block":"regular-expressions","challengeType":1,"title":"Trouver un ou plusieurs criminels dans une chasse","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-one-or-more-criminals-in-a-hunt","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9d","block":"regular-expressions","challengeType":1,"title":"Correspondre aux modèles de chaînes de caractères de début","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-beginning-string-patterns","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9e","block":"regular-expressions","challengeType":1,"title":"Faire correspondre des modèles de chaînes de caractères de fin","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-ending-string-patterns","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9f","block":"regular-expressions","challengeType":1,"title":"Faites correspondre toutes les lettres et tous les chiffres","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-letters-and-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba0","block":"regular-expressions","challengeType":1,"title":"Faites correspondre tout sauf les lettres et les chiffres","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-everything-but-letters-and-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"5d712346c441eddfaeb5bdef","block":"regular-expressions","challengeType":1,"title":"Faire correspondre tous les nombres","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba1","block":"regular-expressions","challengeType":1,"title":"Faire correspondre tous les non-nombres","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-non-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba2","block":"regular-expressions","challengeType":1,"title":"Limiter les noms d'utilisateur possibles","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"restrict-possible-usernames","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba3","block":"regular-expressions","challengeType":1,"title":"Faire correspondre les espaces blancs","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-whitespace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba4","block":"regular-expressions","challengeType":1,"title":"Correspondance des caractères sans espace","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-non-whitespace-characters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba5","block":"regular-expressions","challengeType":1,"title":"Spécifier le nombre supérieur et inférieur de correspondances","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-upper-and-lower-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba6","block":"regular-expressions","challengeType":1,"title":"Spécifier uniquement le nombre inférieur de correspondances","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-only-the-lower-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba7","block":"regular-expressions","challengeType":1,"title":"Précisez le nombre exact de correspondances","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-exact-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dba367417b2b2512ba8","block":"regular-expressions","challengeType":1,"title":"Vérifier tout ou rien","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-all-or-none","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dba367417b2b2512ba9","block":"regular-expressions","challengeType":1,"title":"Lookahead positif et négatif","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"positive-and-negative-lookahead","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"5c3dda8b4d8df89bea71600f","block":"regular-expressions","challengeType":1,"title":"Vérifier le regroupement mixte des caractères","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-mixed-grouping-of-characters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512baa","block":"regular-expressions","challengeType":1,"title":"Réutiliser les modèles en utilisant les groupes de capture","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-patterns-using-capture-groups","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512bab","block":"regular-expressions","challengeType":1,"title":"Utiliser les groupes de capture pour rechercher et remplacer","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-capture-groups-to-search-and-replace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512bac","block":"regular-expressions","challengeType":1,"title":"Supprimer les espaces blancs au début et à la fin","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-whitespace-from-start-and-end","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7b83367417b2b2512b33","block":"debugging","challengeType":1,"title":"Utiliser la console JavaScript pour vérifier la valeur d'une variable","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-javascript-console-to-check-the-value-of-a-variable","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b83367417b2b2512b37","block":"debugging","challengeType":1,"title":"Comprendre les différences entre la console de freeCodeCamp et celle du navigateur","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-the-differences-between-the-freecodecamp-and-browser-console","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b34","block":"debugging","challengeType":1,"title":"Utiliser typeof pour vérifier le type d'une variable","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-typeof-to-check-the-type-of-a-variable","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b35","block":"debugging","challengeType":1,"title":"Repérer les noms de variables et de fonctions mal orthographiés","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-misspelled-variable-and-function-names","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b36","block":"debugging","challengeType":1,"title":"Répérer les parenthèses, crochets, accolades et guillemets non fermés","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-unclosed-parentheses-brackets-braces-and-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b37","block":"debugging","challengeType":1,"title":"Capturer l'utilisation mixte des guillemets simples et doubles","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-mixed-usage-of-single-and-double-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b38","block":"debugging","challengeType":1,"title":"Capturer l'utilisation de l'opérateur d'assignation au lieu de l'opérateur d'égalité","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-use-of-assignment-operator-instead-of-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b39","block":"debugging","challengeType":1,"title":"Attraper les parenthèses ouvertes et fermées manquantes après un appel de fonction","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-missing-open-and-closing-parenthesis-after-a-function-call","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b3a","block":"debugging","challengeType":1,"title":"Attraper les arguments passés dans le mauvais ordre lors de l'appel d'une fonction","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-arguments-passed-in-the-wrong-order-when-calling-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3b","block":"debugging","challengeType":1,"title":"Attraper les erreurs de décalage lors de l'utilisation de l'indexation","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-off-by-one-errors-when-using-indexing","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3c","block":"debugging","challengeType":1,"title":"Soyez prudent lorsque vous réinitialisez des variables à l'intérieur d'une boucle","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-caution-when-reinitializing-variables-inside-a-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3d","block":"debugging","challengeType":1,"title":"Empêcher les boucles infinies avec une condition finale valide","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-infinite-loops-with-a-valid-terminal-condition","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b20","block":"basic-data-structures","challengeType":1,"title":"Utiliser un tableau pour stocker une collection de données","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-array-to-store-a-collection-of-data","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"5a661e0f1068aca922b3ef17","block":"basic-data-structures","challengeType":1,"title":"Accéder au contenu d'un tableau en utilisant la notation des crochets","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-an-arrays-contents-using-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b0e","block":"basic-data-structures","challengeType":1,"title":"Ajouter des éléments à un tableau avec push() et unshift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-to-an-array-with-push-and-unshift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b0f","block":"basic-data-structures","challengeType":1,"title":"Supprimer des éléments d'un tableau avec pop() et shift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-from-an-array-with-pop-and-shift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b10","block":"basic-data-structures","challengeType":1,"title":"Supprimer des éléments en utilisant splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-using-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b3367417b2b2512b11","block":"basic-data-structures","challengeType":1,"title":"Ajouter des éléments en utilisant splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-using-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7a367417b2b2512b12","block":"basic-data-structures","challengeType":1,"title":"Copier les éléments d'un tableau en utilisant slice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-array-items-using-slice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b13","block":"basic-data-structures","challengeType":1,"title":"Copier un tableau avec l'opérateur d'étalement","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-an-array-with-the-spread-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b17","block":"basic-data-structures","challengeType":1,"title":"Combiner des tableaux avec l'opérateur d'étalement","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-arrays-with-the-spread-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b14","block":"basic-data-structures","challengeType":1,"title":"Vérifier la présence d'un élément avec indexOf()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-the-presence-of-an-element-with-indexof","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b15","block":"basic-data-structures","challengeType":1,"title":"Itérer à travers tous les éléments d'un tableau en utilisant des boucles \"For\".","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-all-an-arrays-items-using-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b16","block":"basic-data-structures","challengeType":1,"title":"Créer des tableaux multidimensionnels complexes","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-complex-multi-dimensional-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b18","block":"basic-data-structures","challengeType":1,"title":"Ajouter des paires clé-valeur à des objets JavaScript","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-key-value-pairs-to-javascript-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b19","block":"basic-data-structures","challengeType":1,"title":"Modifier un objet imbriqué dans un autre objet","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-object-nested-within-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b1a","block":"basic-data-structures","challengeType":1,"title":"Noms de propriétés d'accès avec la notation entre crochets","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-property-names-with-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b1b","block":"basic-data-structures","challengeType":1,"title":"Utiliser le mot clé delete pour supprimer les propriétés d'un objet","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-delete-keyword-to-remove-object-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1c","block":"basic-data-structures","challengeType":1,"title":"Vérifier si un objet a une propriété","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-if-an-object-has-a-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1d","block":"basic-data-structures","challengeType":1,"title":"Itérer à travers les clés d'un objet avec une instruction for...in","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-the-keys-of-an-object-with-a-for---in-statement","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for---in-statement","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1e","block":"basic-data-structures","challengeType":1,"title":"Générer un tableau de toutes les clés d'un objet avec Object.keys()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-an-array-of-all-object-keys-with-object-keys","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/generate-an-array-of-all-object-keys-with-object-keys","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1f","block":"basic-data-structures","challengeType":1,"title":"Modifier un tableau stocké dans un objet","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-array-stored-in-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b3","block":"basic-algorithm-scripting","challengeType":1,"title":"Convertir les Celsius en Fahrenheit","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-celsius-to-fahrenheit","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a202eed8fc186c8434cb6d61","block":"basic-algorithm-scripting","challengeType":5,"title":"Inverser une chaîne de caractères","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reverse-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a302f7aae1aa3152a5b413bc","block":"basic-algorithm-scripting","challengeType":5,"title":"Factoriser un nombre","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"factorialize-a-number","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a26cbbe9ad8655a977e1ceb5","block":"basic-algorithm-scripting","challengeType":5,"title":"Trouver le mot le plus long dans une chaîne de caractères","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-longest-word-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a789b3483989747d63b0e427","block":"basic-algorithm-scripting","challengeType":5,"title":"Retourner les plus grands nombres dans les tableaux","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-largest-numbers-in-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"acda2fb1324d9b0fa741e6b5","block":"basic-algorithm-scripting","challengeType":5,"title":"Confirmer la fin","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"confirm-the-ending","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"afcc8d540bea9ea2669306b6","block":"basic-algorithm-scripting","challengeType":5,"title":"Répéter une chaîne Répéter une chaîne","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"repeat-a-string-repeat-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ac6993d51946422351508a41","block":"basic-algorithm-scripting","challengeType":5,"title":"Tronquer une chaîne de caractères","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"truncate-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a6e40f1041b06c996f7b2406","block":"basic-algorithm-scripting","challengeType":5,"title":"Trouver et garder","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finders-keepers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a77dbc43c33f39daa4429b4f","block":"basic-algorithm-scripting","challengeType":5,"title":"Boo who","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"boo-who","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ab6137d4e35944e21037b769","block":"basic-algorithm-scripting","challengeType":5,"title":"Mettre en majuscule la première lettre des mots dans une phrase","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"title-case-a-sentence","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"579e2a2c335b9d72dd32e05c","block":"basic-algorithm-scripting","challengeType":5,"title":"Slice et Splice","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"slice-and-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"adf08ec01beb4f99fc7a68f2","block":"basic-algorithm-scripting","challengeType":5,"title":"Falsy Bouncer","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"falsy-bouncer","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a24c1a4622e3c05097f71d67","block":"basic-algorithm-scripting","challengeType":5,"title":"Quelle est ma place ?","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"where-do-i-belong","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af2170cad53daa0770fabdea","block":"basic-algorithm-scripting","challengeType":5,"title":"Mutations","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutations","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a9bd25c716030ec90084d8a1","block":"basic-algorithm-scripting","challengeType":5,"title":"Chunky Monkey (Singe en peluche)","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chunky-monkey","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"587d7dac367417b2b2512b73","block":"object-oriented-programming","challengeType":1,"title":"Créer un objet JavaScript de base","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-basic-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dac367417b2b2512b74","block":"object-oriented-programming","challengeType":1,"title":"Utiliser la notation pointée pour accéder aux propriétés d'un objet","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-dot-notation-to-access-the-properties-of-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-dot-notation-to-access-the-properties-of-an-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b75","block":"object-oriented-programming","challengeType":1,"title":"Créer une méthode sur un objet","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-method-on-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b76","block":"object-oriented-programming","challengeType":1,"title":"Rendre le code plus réutilisable avec le mot-clé this","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-code-more-reusable-with-the-this-keyword","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b77","block":"object-oriented-programming","challengeType":1,"title":"Définir une fonction constructrice","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"define-a-constructor-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b78","block":"object-oriented-programming","challengeType":1,"title":"Utiliser un constructeur pour créer des objets","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-constructor-to-create-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b79","block":"object-oriented-programming","challengeType":1,"title":"Étendre les constructeurs pour recevoir des arguments","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extend-constructors-to-receive-arguments","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7a","block":"object-oriented-programming","challengeType":1,"title":"Vérifier le constructeur d'un objet avec instanceof","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"verify-an-objects-constructor-with-instanceof","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7b","block":"object-oriented-programming","challengeType":1,"title":"Comprendre les propriétés propres","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-own-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7c","block":"object-oriented-programming","challengeType":1,"title":"Utiliser les propriétés des prototypes pour réduire le code dupliqué","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-prototype-properties-to-reduce-duplicate-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7d","block":"object-oriented-programming","challengeType":1,"title":"Itérer sur toutes les propriétés","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-over-all-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7e","block":"object-oriented-programming","challengeType":1,"title":"Comprendre la propriété du constructeur","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-constructor-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7f","block":"object-oriented-programming","challengeType":1,"title":"Changer le prototype du nouvel objet","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"change-the-prototype-to-a-new-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b80","block":"object-oriented-programming","challengeType":1,"title":"N'oubliez pas de définir la propriété du constructeur lorsque vous modifiez le prototype","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remember-to-set-the-constructor-property-when-changing-the-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/remember-to-set-the-constructor-property-when-changing-the-prototype","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b81","block":"object-oriented-programming","challengeType":1,"title":"Comprendre l'origine du prototype d'un objet","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-where-an-objects-prototype-comes-from","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b82","block":"object-oriented-programming","challengeType":1,"title":"Comprendre la chaîne du prototype","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-prototype-chain","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b83","block":"object-oriented-programming","challengeType":1,"title":"Utiliser l'héritage pour ne pas se répéter","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-inheritance-so-you-dont-repeat-yourself","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b84","block":"object-oriented-programming","challengeType":1,"title":"Hériter des comportements d'un super-type","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"inherit-behaviors-from-a-supertype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b85","block":"object-oriented-programming","challengeType":1,"title":"Définir le prototype de l'enfant comme une instance du parent","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-the-childs-prototype-to-an-instance-of-the-parent","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/set-the-childs-prototype-to-an-instance-of-the-parent","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b86","block":"object-oriented-programming","challengeType":1,"title":"Réinitialiser une propriété de constructeur héritée","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reset-an-inherited-constructor-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b87","block":"object-oriented-programming","challengeType":1,"title":"Ajouter des méthodes après l'héritage","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-methods-after-inheritance","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b88","block":"object-oriented-programming","challengeType":1,"title":"Surcharger les méthodes héritées","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"override-inherited-methods","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b89","block":"object-oriented-programming","challengeType":1,"title":"Utiliser un Mixin pour ajouter un comportement commun à des objets non apparentés","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-mixin-to-add-common-behavior-between-unrelated-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-mixin-to-add-common-behavior-between-unrelated-objects","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8a","block":"object-oriented-programming","challengeType":1,"title":"Utiliser une Closure pour protéger les propriétés d'un objet contre les modifications externes","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-closure-to-protect-properties-within-an-object-from-being-modified-externally","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8b","block":"object-oriented-programming","challengeType":1,"title":"Comprendre l'expression de la fonction immédiatement invoquée (IIFE)","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-immediately-invoked-function-expression-iife","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8c","block":"object-oriented-programming","challengeType":1,"title":"Utiliser un IIFE pour créer un module","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-iife-to-create-a-module","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7b8d367417b2b2512b5b","block":"functional-programming","challengeType":1,"title":"Apprendre la programmation fonctionnelle","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"learn-about-functional-programming","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5c","block":"functional-programming","challengeType":1,"title":"Comprendre la terminologie de la programmation fonctionnelle","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-functional-programming-terminology","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5d","block":"functional-programming","challengeType":1,"title":"Comprendre les risques liés à l'utilisation du code impératif","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-hazards-of-using-imperative-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5e","block":"functional-programming","challengeType":1,"title":"Éviter les mutations et les effets secondaires grâce à la programmation fonctionnelle","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"avoid-mutations-and-side-effects-using-functional-programming","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5f","block":"functional-programming","challengeType":1,"title":"Passer des arguments pour éviter la dépendance externe dans une fonction","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pass-arguments-to-avoid-external-dependence-in-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b60","block":"functional-programming","challengeType":1,"title":"Refactoriser les variables globales hors des fonctions","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"refactor-global-variables-out-of-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b61","block":"functional-programming","challengeType":1,"title":"Utiliser la méthode map pour extraire des données d'un tableau","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-map-method-to-extract-data-from-an-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b62","block":"functional-programming","challengeType":1,"title":"Implémenter map sur un prototype","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-map-on-a-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b63","block":"functional-programming","challengeType":1,"title":"Utiliser la méthode filter pour extraire des données d'un tableau","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-filter-method-to-extract-data-from-an-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b64","block":"functional-programming","challengeType":1,"title":"Implémenter la méthode de filtrage sur un prototype","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-the-filter-method-on-a-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b90367417b2b2512b65","block":"functional-programming","challengeType":1,"title":"Retourner une partie d'un tableau à l'aide de la méthode slice","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-part-of-an-array-using-the-slice-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"9d7123c8c441eeafaeb5bdef","block":"functional-programming","challengeType":1,"title":"Supprimer des éléments d'un tableau en utilisant slice au lieu de splice","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-elements-from-an-array-using-slice-instead-of-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b66","block":"functional-programming","challengeType":1,"title":"Combiner deux tableaux à l'aide de la méthode concat","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-two-arrays-using-the-concat-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b67","block":"functional-programming","challengeType":1,"title":"Ajouter des éléments à la fin d'un tableau en utilisant concat au lieu de push","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-elements-to-the-end-of-an-array-using-concat-instead-of-push","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b68","block":"functional-programming","challengeType":1,"title":"Utiliser la méthode reduce pour analyser les données","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-reduce-method-to-analyze-data","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b45","block":"functional-programming","challengeType":1,"title":"Utiliser des fonctions d'ordre supérieur (map, filter ou reduce) pour résoudre un problème complexe","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b69","block":"functional-programming","challengeType":1,"title":"Trier un tableau par ordre alphabétique à l'aide de la méthode de tri","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sort-an-array-alphabetically-using-the-sort-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b6a","block":"functional-programming","challengeType":1,"title":"Renvoyer un tableau trié sans modifier le tableau d'origine","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-sorted-array-without-changing-the-original-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7daa367417b2b2512b6b","block":"functional-programming","challengeType":1,"title":"Diviser une chaîne de caractères en un tableau à l'aide de la méthode split","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"split-a-string-into-an-array-using-the-split-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7daa367417b2b2512b6c","block":"functional-programming","challengeType":1,"title":"Combiner un tableau en une chaîne de caractères à l'aide de la méthode join","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-an-array-into-a-string-using-the-join-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6d","block":"functional-programming","challengeType":1,"title":"Appliquer la programmation fonctionnelle pour convertir des chaînes de caractères en slugs d'URL","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"apply-functional-programming-to-convert-strings-to-url-slugs","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6e","block":"functional-programming","challengeType":1,"title":"Utiliser la méthode every pour vérifier que chaque élément d'un tableau répond à un critère","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6f","block":"functional-programming","challengeType":1,"title":"Utiliser la méthode some pour vérifier que tous les éléments d'un tableau répondent à un critère.","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b70","block":"functional-programming","challengeType":1,"title":"Introduction au curage et à l'application partielle","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introduction-to-currying-and-partial-application","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"a3566b1109230028080c9345","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Additionner tous les nombres d'une plage","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-numbers-in-a-range","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5de63ebea8dbee56860f4f2","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Différence entre deux tableaux","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"diff-two-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a39963a4c10bc8b4d4f06d7e","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Chercher et détruire","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"seek-and-destroy","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a8e512fbe388ac2f9198f0fa","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Pourquoi êtes-vous","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"wherefore-art-thou","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a103376db3ba46b2d50db289","block":"intermediate-algorithm-scripting","challengeType":5,"title":"La casse spinale","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"spinal-tap-case","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"aa7697ea2477d1316795783b","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Pig Latin","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pig-latin","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a0b5010f579e69b815e7c5d6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Rechercher et remplacer","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"search-and-replace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"afd15382cdfb22c9efe8b7de","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Appariement de l'ADN","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"dna-pairing","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af7588ade1100bde429baf20","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Lettres manquantes","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"missing-letters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a105e963526e7de52b219be9","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Union triée","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sorted-union","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a6b0bb188d873cb2c8729495","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Convertir les entités HTML","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-html-entities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5229172f011153519423690","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Somme de tous les nombres impairs de Fibonacci","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-odd-fibonacci-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a3bfc1673c0526e06d3ac698","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Somme de tous les nombres premiers","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-primes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ae9defd7acaf69703ab432ea","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Plus petit multiple commun","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"smallest-common-multiple","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5deed1811a43193f9f1c841","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Laissez tomber","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"drop-it","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ab306dbdcc907c7ddfc30830","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Rouleau compresseur","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"steamroller","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a8d97bd4c764e91f9d2bda01","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Agents binaires","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"binary-agents","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a10d2431ad0c6a099a4b8b52","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Tout est vrai","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"everything-be-true","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a97fd23d9b809dac9921074f","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Arguments Optionnels","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"arguments-optional","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a2f1d72d9b908d0bd72bb9f6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Créer une Personne","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-a-person","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af4afb223120f7348cdfc9fd","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Cartographier les débris","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"map-the-debris","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"aaa48de84e1ecc7c742e1124","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Vérificateur de palindromes","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"palindrome-checker","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"a7f4d8f2483413a6ce226cac","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Convertisseur de chiffres romains","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"roman-numeral-converter","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e2","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Chiffre de César","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"caesars-cipher","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"aff0395860f5d3034dc0bfc9","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Validateur de numéro de téléphone","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"telephone-number-validator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"aa2e6f85cab2ab736c9a9b24","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Caisse enregistreuse","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"cash-register","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acde08712","block":"bootstrap","challengeType":0,"title":"Use Responsive Design with Bootstrap Fluid Containers","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-responsive-design-with-bootstrap-fluid-containers","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-responsive-design-with-bootstrap-fluid-containers","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acde08812","block":"bootstrap","challengeType":0,"title":"Make Images Mobile Responsive","order":0,"superBlock":"front-end-development-libraries","dashedName":"make-images-mobile-responsive","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/make-images-mobile-responsive","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd8acde08812","block":"bootstrap","challengeType":0,"title":"Center Text with Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"center-text-with-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/center-text-with-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acdf08812","block":"bootstrap","challengeType":0,"title":"Create a Bootstrap Button","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-button","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-button","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08812","block":"bootstrap","challengeType":0,"title":"Create a Block Element Bootstrap Button","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-block-element-bootstrap-button","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-block-element-bootstrap-button","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08811","block":"bootstrap","challengeType":0,"title":"Taste the Bootstrap Button Color Rainbow","order":0,"superBlock":"front-end-development-libraries","dashedName":"taste-the-bootstrap-button-color-rainbow","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/taste-the-bootstrap-button-color-rainbow","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08813","block":"bootstrap","challengeType":0,"title":"Call out Optional Actions with btn-info","order":0,"superBlock":"front-end-development-libraries","dashedName":"call-out-optional-actions-with-btn-info","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/call-out-optional-actions-with-btn-info","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348ce8acef08814","block":"bootstrap","challengeType":0,"title":"Warn Your Users of a Dangerous Action with btn-danger","order":0,"superBlock":"front-end-development-libraries","dashedName":"warn-your-users-of-a-dangerous-action-with-btn-danger","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/warn-your-users-of-a-dangerous-action-with-btn-danger","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad88fee1348ce8acef08815","block":"bootstrap","challengeType":0,"title":"Use the Bootstrap Grid to Put Elements Side By Side","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-the-bootstrap-grid-to-put-elements-side-by-side","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-the-bootstrap-grid-to-put-elements-side-by-side","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1347bd9aedf08845","block":"bootstrap","challengeType":0,"title":"Ditch Custom CSS for Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"ditch-custom-css-for-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08845","block":"bootstrap","challengeType":0,"title":"Use a span to Target Inline Elements","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-a-span-to-target-inline-elements","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-a-span-to-target-inline-elements","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08845","block":"bootstrap","challengeType":0,"title":"Create a Custom Heading","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-custom-heading","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-custom-heading","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08845","block":"bootstrap","challengeType":0,"title":"Add Font Awesome Icons to our Buttons","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-font-awesome-icons-to-our-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-our-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08845","block":"bootstrap","challengeType":0,"title":"Add Font Awesome Icons to all of our Buttons","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-font-awesome-icons-to-all-of-our-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-all-of-our-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedb08845","block":"bootstrap","challengeType":0,"title":"Responsively Style Radio Buttons","order":0,"superBlock":"front-end-development-libraries","dashedName":"responsively-style-radio-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/responsively-style-radio-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08845","block":"bootstrap","challengeType":0,"title":"Responsively Style Checkboxes","order":0,"superBlock":"front-end-development-libraries","dashedName":"responsively-style-checkboxes","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/responsively-style-checkboxes","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908845","block":"bootstrap","challengeType":0,"title":"Style Text Inputs as Form Controls","order":0,"superBlock":"front-end-development-libraries","dashedName":"style-text-inputs-as-form-controls","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/style-text-inputs-as-form-controls","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908845","block":"bootstrap","challengeType":0,"title":"Line up Form Elements Responsively with Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"line-up-form-elements-responsively-with-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/line-up-form-elements-responsively-with-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908846","block":"bootstrap","challengeType":0,"title":"Create a Bootstrap Headline","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-headline","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-headline","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908746","block":"bootstrap","challengeType":0,"title":"House our page within a Bootstrap container-fluid div","order":0,"superBlock":"front-end-development-libraries","dashedName":"house-our-page-within-a-bootstrap-container-fluid-div","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/house-our-page-within-a-bootstrap-container-fluid-div","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bec908846","block":"bootstrap","challengeType":0,"title":"Create a Bootstrap Row","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-row","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-row","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908847","block":"bootstrap","challengeType":0,"title":"Split Your Bootstrap Row","order":0,"superBlock":"front-end-development-libraries","dashedName":"split-your-bootstrap-row","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/split-your-bootstrap-row","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908848","block":"bootstrap","challengeType":0,"title":"Create Bootstrap Wells","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908849","block":"bootstrap","challengeType":0,"title":"Add Elements within Your Bootstrap Wells","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-elements-within-your-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-elements-within-your-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908850","block":"bootstrap","challengeType":0,"title":"Apply the Default Bootstrap Button Style","order":0,"superBlock":"front-end-development-libraries","dashedName":"apply-the-default-bootstrap-button-style","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/apply-the-default-bootstrap-button-style","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908852","block":"bootstrap","challengeType":0,"title":"Create a Class to Target with jQuery Selectors","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-class-to-target-with-jquery-selectors","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-class-to-target-with-jquery-selectors","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908853","block":"bootstrap","challengeType":0,"title":"Add id Attributes to Bootstrap Elements","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-id-attributes-to-bootstrap-elements","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-id-attributes-to-bootstrap-elements","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908854","block":"bootstrap","challengeType":0,"title":"Label Bootstrap Wells","order":0,"superBlock":"front-end-development-libraries","dashedName":"label-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/label-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908855","block":"bootstrap","challengeType":0,"title":"Give Each Element a Unique id","order":0,"superBlock":"front-end-development-libraries","dashedName":"give-each-element-a-unique-id","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/give-each-element-a-unique-id","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908856","block":"bootstrap","challengeType":0,"title":"Label Bootstrap Buttons","order":0,"superBlock":"front-end-development-libraries","dashedName":"label-bootstrap-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/label-bootstrap-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908857","block":"bootstrap","challengeType":0,"title":"Use Comments to Clarify Code","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-comments-to-clarify-code","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-comments-to-clarify-code","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acdd08826","block":"jquery","challengeType":6,"title":"Learn How Script Tags and Document Ready Work","order":1,"superBlock":"front-end-development-libraries","dashedName":"learn-how-script-tags-and-document-ready-work","fields":{"slug":"/learn/front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bedc08826","block":"jquery","challengeType":6,"title":"Target HTML Elements with Selectors Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-html-elements-with-selectors-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-html-elements-with-selectors-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08826","block":"jquery","challengeType":6,"title":"Target Elements by Class Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-elements-by-class-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-elements-by-class-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08826","block":"jquery","challengeType":6,"title":"Target Elements by id Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-elements-by-id-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-elements-by-id-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08726","block":"jquery","challengeType":6,"title":"Delete Your jQuery Functions","order":1,"superBlock":"front-end-development-libraries","dashedName":"delete-your-jquery-functions","fields":{"slug":"/learn/front-end-development-libraries/jquery/delete-your-jquery-functions","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908626","block":"jquery","challengeType":6,"title":"Target the Same Element with Multiple jQuery Selectors","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-same-element-with-multiple-jquery-selectors","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-same-element-with-multiple-jquery-selectors","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed918626","block":"jquery","challengeType":6,"title":"Remove Classes from an Element with jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"remove-classes-from-an-element-with-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/remove-classes-from-an-element-with-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908826","block":"jquery","challengeType":6,"title":"Change the CSS of an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"change-the-css-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/change-the-css-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed808826","block":"jquery","challengeType":6,"title":"Disable an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"disable-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/disable-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"564944c91be2204b269d51e3","block":"jquery","challengeType":6,"title":"Change Text Inside an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"change-text-inside-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed708826","block":"jquery","challengeType":6,"title":"Remove an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"remove-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/remove-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed608826","block":"jquery","challengeType":6,"title":"Use appendTo to Move Elements with jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"use-appendto-to-move-elements-with-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/use-appendto-to-move-elements-with-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed508826","block":"jquery","challengeType":6,"title":"Clone an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"clone-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/clone-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed308826","block":"jquery","challengeType":6,"title":"Target the Parent of an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-parent-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-parent-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed208826","block":"jquery","challengeType":6,"title":"Target the Children of an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-children-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-children-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed108826","block":"jquery","challengeType":6,"title":"Target a Specific Child of an Element Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-a-specific-child-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-a-specific-child-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed008826","block":"jquery","challengeType":6,"title":"Target Even Elements Using jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-even-elements-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-even-elements-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecb08826","block":"jquery","challengeType":6,"title":"Use jQuery to Modify the Entire Page","order":1,"superBlock":"front-end-development-libraries","dashedName":"use-jquery-to-modify-the-entire-page","fields":{"slug":"/learn/front-end-development-libraries/jquery/use-jquery-to-modify-the-entire-page","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb4","block":"sass","challengeType":0,"title":"Store Data with Sass Variables","order":2,"superBlock":"front-end-development-libraries","dashedName":"store-data-with-sass-variables","fields":{"slug":"/learn/front-end-development-libraries/sass/store-data-with-sass-variables","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb5","block":"sass","challengeType":0,"title":"Nest CSS with Sass","order":2,"superBlock":"front-end-development-libraries","dashedName":"nest-css-with-sass","fields":{"slug":"/learn/front-end-development-libraries/sass/nest-css-with-sass","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb6","block":"sass","challengeType":0,"title":"Create Reusable CSS with Mixins","order":2,"superBlock":"front-end-development-libraries","dashedName":"create-reusable-css-with-mixins","fields":{"slug":"/learn/front-end-development-libraries/sass/create-reusable-css-with-mixins","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbe367417b2b2512bb8","block":"sass","challengeType":0,"title":"Use @if and @else to Add Logic To Your Styles","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-if-and-else-to-add-logic-to-your-styles","fields":{"slug":"/learn/front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbe367417b2b2512bb9","block":"sass","challengeType":0,"title":"Use @for to Create a Sass Loop","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-for-to-create-a-sass-loop","fields":{"slug":"/learn/front-end-development-libraries/sass/use-for-to-create-a-sass-loop","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bba","block":"sass","challengeType":0,"title":"Use @each to Map Over Items in a List","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-each-to-map-over-items-in-a-list","fields":{"slug":"/learn/front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bbb","block":"sass","challengeType":0,"title":"Apply a Style Until a Condition is Met with @while","order":2,"superBlock":"front-end-development-libraries","dashedName":"apply-a-style-until-a-condition-is-met-with-while","fields":{"slug":"/learn/front-end-development-libraries/sass/apply-a-style-until-a-condition-is-met-with-while","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bbc","block":"sass","challengeType":0,"title":"Split Your Styles into Smaller Chunks with Partials","order":2,"superBlock":"front-end-development-libraries","dashedName":"split-your-styles-into-smaller-chunks-with-partials","fields":{"slug":"/learn/front-end-development-libraries/sass/split-your-styles-into-smaller-chunks-with-partials","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7fa5367417b2b2512bbd","block":"sass","challengeType":0,"title":"Extend One Set of CSS Styles to Another Element","order":2,"superBlock":"front-end-development-libraries","dashedName":"extend-one-set-of-css-styles-to-another-element","fields":{"slug":"/learn/front-end-development-libraries/sass/extend-one-set-of-css-styles-to-another-element","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbc367417b2b2512bb1","block":"react","challengeType":6,"title":"Create a Simple JSX Element","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-simple-jsx-element","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-simple-jsx-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5d","block":"react","challengeType":6,"title":"Create a Complex JSX Element","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-complex-jsx-element","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-complex-jsx-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5e","block":"react","challengeType":6,"title":"Add Comments in JSX","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-comments-in-jsx","fields":{"slug":"/learn/front-end-development-libraries/react/add-comments-in-jsx","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5f","block":"react","challengeType":6,"title":"Render HTML Elements to the DOM","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-html-elements-to-the-dom","fields":{"slug":"/learn/front-end-development-libraries/react/render-html-elements-to-the-dom","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036160","block":"react","challengeType":6,"title":"Define an HTML Class in JSX","order":3,"superBlock":"front-end-development-libraries","dashedName":"define-an-html-class-in-jsx","fields":{"slug":"/learn/front-end-development-libraries/react/define-an-html-class-in-jsx","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036161","block":"react","challengeType":6,"title":"Learn About Self-Closing JSX Tags","order":3,"superBlock":"front-end-development-libraries","dashedName":"learn-about-self-closing-jsx-tags","fields":{"slug":"/learn/front-end-development-libraries/react/learn-about-self-closing-jsx-tags","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036162","block":"react","challengeType":6,"title":"Create a Stateless Functional Component","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-stateless-functional-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-stateless-functional-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036163","block":"react","challengeType":6,"title":"Create a React Component","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-react-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-react-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036164","block":"react","challengeType":6,"title":"Create a Component with Composition","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-component-with-composition","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-component-with-composition","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036165","block":"react","challengeType":6,"title":"Use React to Render Nested Components","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-react-to-render-nested-components","fields":{"slug":"/learn/front-end-development-libraries/react/use-react-to-render-nested-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036166","block":"react","challengeType":6,"title":"Compose React Components","order":3,"superBlock":"front-end-development-libraries","dashedName":"compose-react-components","fields":{"slug":"/learn/front-end-development-libraries/react/compose-react-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036167","block":"react","challengeType":6,"title":"Render a Class Component to the DOM","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-a-class-component-to-the-dom","fields":{"slug":"/learn/front-end-development-libraries/react/render-a-class-component-to-the-dom","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036168","block":"react","challengeType":6,"title":"Write a React Component from Scratch","order":3,"superBlock":"front-end-development-libraries","dashedName":"write-a-react-component-from-scratch","fields":{"slug":"/learn/front-end-development-libraries/react/write-a-react-component-from-scratch","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036169","block":"react","challengeType":6,"title":"Pass Props to a Stateless Functional Component","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-props-to-a-stateless-functional-component","fields":{"slug":"/learn/front-end-development-libraries/react/pass-props-to-a-stateless-functional-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616a","block":"react","challengeType":6,"title":"Pass an Array as Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-an-array-as-props","fields":{"slug":"/learn/front-end-development-libraries/react/pass-an-array-as-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616b","block":"react","challengeType":6,"title":"Use Default Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-default-props","fields":{"slug":"/learn/front-end-development-libraries/react/use-default-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616c","block":"react","challengeType":6,"title":"Override Default Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"override-default-props","fields":{"slug":"/learn/front-end-development-libraries/react/override-default-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616d","block":"react","challengeType":6,"title":"Use PropTypes to Define the Props You Expect","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-proptypes-to-define-the-props-you-expect","fields":{"slug":"/learn/front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616e","block":"react","challengeType":6,"title":"Access Props Using this.props","order":3,"superBlock":"front-end-development-libraries","dashedName":"access-props-using-this-props","fields":{"slug":"/learn/front-end-development-libraries/react/access-props-using-this-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616f","block":"react","challengeType":6,"title":"Review Using Props with Stateless Functional Components","order":3,"superBlock":"front-end-development-libraries","dashedName":"review-using-props-with-stateless-functional-components","fields":{"slug":"/learn/front-end-development-libraries/react/review-using-props-with-stateless-functional-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036170","block":"react","challengeType":6,"title":"Create a Stateful Component","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-stateful-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-stateful-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036171","block":"react","challengeType":6,"title":"Render State in the User Interface","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-state-in-the-user-interface","fields":{"slug":"/learn/front-end-development-libraries/react/render-state-in-the-user-interface","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036172","block":"react","challengeType":6,"title":"Render State in the User Interface Another Way","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-state-in-the-user-interface-another-way","fields":{"slug":"/learn/front-end-development-libraries/react/render-state-in-the-user-interface-another-way","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036173","block":"react","challengeType":6,"title":"Set State with this.setState","order":3,"superBlock":"front-end-development-libraries","dashedName":"set-state-with-this-setstate","fields":{"slug":"/learn/front-end-development-libraries/react/set-state-with-this-setstate","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036174","block":"react","challengeType":6,"title":"Bind 'this' to a Class Method","order":3,"superBlock":"front-end-development-libraries","dashedName":"bind-this-to-a-class-method","fields":{"slug":"/learn/front-end-development-libraries/react/bind-this-to-a-class-method","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036176","block":"react","challengeType":6,"title":"Use State to Toggle an Element","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-state-to-toggle-an-element","fields":{"slug":"/learn/front-end-development-libraries/react/use-state-to-toggle-an-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036177","block":"react","challengeType":6,"title":"Write a Simple Counter","order":3,"superBlock":"front-end-development-libraries","dashedName":"write-a-simple-counter","fields":{"slug":"/learn/front-end-development-libraries/react/write-a-simple-counter","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036178","block":"react","challengeType":6,"title":"Create a Controlled Input","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-controlled-input","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-controlled-input","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036179","block":"react","challengeType":6,"title":"Create a Controlled Form","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-controlled-form","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-controlled-form","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617a","block":"react","challengeType":6,"title":"Pass State as Props to Child Components","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-state-as-props-to-child-components","fields":{"slug":"/learn/front-end-development-libraries/react/pass-state-as-props-to-child-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617b","block":"react","challengeType":6,"title":"Pass a Callback as Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-a-callback-as-props","fields":{"slug":"/learn/front-end-development-libraries/react/pass-a-callback-as-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617c","block":"react","challengeType":6,"title":"Use the Lifecycle Method componentWillMount","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-the-lifecycle-method-componentwillmount","fields":{"slug":"/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentwillmount","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617d","block":"react","challengeType":6,"title":"Use the Lifecycle Method componentDidMount","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-the-lifecycle-method-componentdidmount","fields":{"slug":"/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentdidmount","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617e","block":"react","challengeType":6,"title":"Add Event Listeners","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-event-listeners","fields":{"slug":"/learn/front-end-development-libraries/react/add-event-listeners","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036180","block":"react","challengeType":6,"title":"Optimize Re-Renders with shouldComponentUpdate","order":3,"superBlock":"front-end-development-libraries","dashedName":"optimize-re-renders-with-shouldcomponentupdate","fields":{"slug":"/learn/front-end-development-libraries/react/optimize-re-renders-with-shouldcomponentupdate","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036181","block":"react","challengeType":6,"title":"Introducing Inline Styles","order":3,"superBlock":"front-end-development-libraries","dashedName":"introducing-inline-styles","fields":{"slug":"/learn/front-end-development-libraries/react/introducing-inline-styles","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036182","block":"react","challengeType":6,"title":"Add Inline Styles in React","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-inline-styles-in-react","fields":{"slug":"/learn/front-end-development-libraries/react/add-inline-styles-in-react","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036183","block":"react","challengeType":6,"title":"Use Advanced JavaScript in React Render Method","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-advanced-javascript-in-react-render-method","fields":{"slug":"/learn/front-end-development-libraries/react/use-advanced-javascript-in-react-render-method","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036184","block":"react","challengeType":6,"title":"Render with an If-Else Condition","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-with-an-if-else-condition","fields":{"slug":"/learn/front-end-development-libraries/react/render-with-an-if-else-condition","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036185","block":"react","challengeType":6,"title":"Use && for a More Concise Conditional","order":3,"superBlock":"front-end-development-libraries","dashedName":"use--for-a-more-concise-conditional","fields":{"slug":"/learn/front-end-development-libraries/react/use--for-a-more-concise-conditional","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036187","block":"react","challengeType":6,"title":"Use a Ternary Expression for Conditional Rendering","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-a-ternary-expression-for-conditional-rendering","fields":{"slug":"/learn/front-end-development-libraries/react/use-a-ternary-expression-for-conditional-rendering","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036188","block":"react","challengeType":6,"title":"Render Conditionally from Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-conditionally-from-props","fields":{"slug":"/learn/front-end-development-libraries/react/render-conditionally-from-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036189","block":"react","challengeType":6,"title":"Change Inline CSS Conditionally Based on Component State","order":3,"superBlock":"front-end-development-libraries","dashedName":"change-inline-css-conditionally-based-on-component-state","fields":{"slug":"/learn/front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618a","block":"react","challengeType":6,"title":"Use Array.map() to Dynamically Render Elements","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-array-map-to-dynamically-render-elements","fields":{"slug":"/learn/front-end-development-libraries/react/use-array-map-to-dynamically-render-elements","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618b","block":"react","challengeType":6,"title":"Give Sibling Elements a Unique Key Attribute","order":3,"superBlock":"front-end-development-libraries","dashedName":"give-sibling-elements-a-unique-key-attribute","fields":{"slug":"/learn/front-end-development-libraries/react/give-sibling-elements-a-unique-key-attribute","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618c","block":"react","challengeType":6,"title":"Use Array.filter() to Dynamically Filter an Array","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-array-filter-to-dynamically-filter-an-array","fields":{"slug":"/learn/front-end-development-libraries/react/use-array-filter-to-dynamically-filter-an-array","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618d","block":"react","challengeType":6,"title":"Render React on the Server with renderToString","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-react-on-the-server-with-rendertostring","fields":{"slug":"/learn/front-end-development-libraries/react/render-react-on-the-server-with-rendertostring","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614b","block":"redux","challengeType":6,"title":"Create a Redux Store","order":4,"superBlock":"front-end-development-libraries","dashedName":"create-a-redux-store","fields":{"slug":"/learn/front-end-development-libraries/redux/create-a-redux-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614c","block":"redux","challengeType":6,"title":"Get State from the Redux Store","order":4,"superBlock":"front-end-development-libraries","dashedName":"get-state-from-the-redux-store","fields":{"slug":"/learn/front-end-development-libraries/redux/get-state-from-the-redux-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614d","block":"redux","challengeType":6,"title":"Define a Redux Action","order":4,"superBlock":"front-end-development-libraries","dashedName":"define-a-redux-action","fields":{"slug":"/learn/front-end-development-libraries/redux/define-a-redux-action","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614e","block":"redux","challengeType":6,"title":"Define an Action Creator","order":4,"superBlock":"front-end-development-libraries","dashedName":"define-an-action-creator","fields":{"slug":"/learn/front-end-development-libraries/redux/define-an-action-creator","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614f","block":"redux","challengeType":6,"title":"Dispatch an Action Event","order":4,"superBlock":"front-end-development-libraries","dashedName":"dispatch-an-action-event","fields":{"slug":"/learn/front-end-development-libraries/redux/dispatch-an-action-event","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036150","block":"redux","challengeType":6,"title":"Handle an Action in the Store","order":4,"superBlock":"front-end-development-libraries","dashedName":"handle-an-action-in-the-store","fields":{"slug":"/learn/front-end-development-libraries/redux/handle-an-action-in-the-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036151","block":"redux","challengeType":6,"title":"Use a Switch Statement to Handle Multiple Actions","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-a-switch-statement-to-handle-multiple-actions","fields":{"slug":"/learn/front-end-development-libraries/redux/use-a-switch-statement-to-handle-multiple-actions","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036152","block":"redux","challengeType":6,"title":"Use const for Action Types","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-const-for-action-types","fields":{"slug":"/learn/front-end-development-libraries/redux/use-const-for-action-types","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036153","block":"redux","challengeType":6,"title":"Register a Store Listener","order":4,"superBlock":"front-end-development-libraries","dashedName":"register-a-store-listener","fields":{"slug":"/learn/front-end-development-libraries/redux/register-a-store-listener","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036154","block":"redux","challengeType":6,"title":"Combine Multiple Reducers","order":4,"superBlock":"front-end-development-libraries","dashedName":"combine-multiple-reducers","fields":{"slug":"/learn/front-end-development-libraries/redux/combine-multiple-reducers","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036155","block":"redux","challengeType":6,"title":"Send Action Data to the Store","order":4,"superBlock":"front-end-development-libraries","dashedName":"send-action-data-to-the-store","fields":{"slug":"/learn/front-end-development-libraries/redux/send-action-data-to-the-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036156","block":"redux","challengeType":6,"title":"Use Middleware to Handle Asynchronous Actions","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-middleware-to-handle-asynchronous-actions","fields":{"slug":"/learn/front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036157","block":"redux","challengeType":6,"title":"Write a Counter with Redux","order":4,"superBlock":"front-end-development-libraries","dashedName":"write-a-counter-with-redux","fields":{"slug":"/learn/front-end-development-libraries/redux/write-a-counter-with-redux","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036158","block":"redux","challengeType":6,"title":"Never Mutate State","order":4,"superBlock":"front-end-development-libraries","dashedName":"never-mutate-state","fields":{"slug":"/learn/front-end-development-libraries/redux/never-mutate-state","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036159","block":"redux","challengeType":6,"title":"Use the Spread Operator on Arrays","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-the-spread-operator-on-arrays","fields":{"slug":"/learn/front-end-development-libraries/redux/use-the-spread-operator-on-arrays","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403615a","block":"redux","challengeType":6,"title":"Remove an Item from an Array","order":4,"superBlock":"front-end-development-libraries","dashedName":"remove-an-item-from-an-array","fields":{"slug":"/learn/front-end-development-libraries/redux/remove-an-item-from-an-array","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403615b","block":"redux","challengeType":6,"title":"Copy an Object with Object.assign","order":4,"superBlock":"front-end-development-libraries","dashedName":"copy-an-object-with-object-assign","fields":{"slug":"/learn/front-end-development-libraries/redux/copy-an-object-with-object-assign","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036141","block":"react-and-redux","challengeType":6,"title":"Getting Started with React Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"getting-started-with-react-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/getting-started-with-react-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036142","block":"react-and-redux","challengeType":6,"title":"Manage State Locally First","order":5,"superBlock":"front-end-development-libraries","dashedName":"manage-state-locally-first","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/manage-state-locally-first","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036143","block":"react-and-redux","challengeType":6,"title":"Extract State Logic to Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"extract-state-logic-to-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/extract-state-logic-to-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036144","block":"react-and-redux","challengeType":6,"title":"Use Provider to Connect Redux to React","order":5,"superBlock":"front-end-development-libraries","dashedName":"use-provider-to-connect-redux-to-react","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/use-provider-to-connect-redux-to-react","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036145","block":"react-and-redux","challengeType":6,"title":"Map State to Props","order":5,"superBlock":"front-end-development-libraries","dashedName":"map-state-to-props","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/map-state-to-props","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036146","block":"react-and-redux","challengeType":6,"title":"Map Dispatch to Props","order":5,"superBlock":"front-end-development-libraries","dashedName":"map-dispatch-to-props","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/map-dispatch-to-props","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036147","block":"react-and-redux","challengeType":6,"title":"Connect Redux to React","order":5,"superBlock":"front-end-development-libraries","dashedName":"connect-redux-to-react","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/connect-redux-to-react","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036148","block":"react-and-redux","challengeType":6,"title":"Connect Redux to the Messages App","order":5,"superBlock":"front-end-development-libraries","dashedName":"connect-redux-to-the-messages-app","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036149","block":"react-and-redux","challengeType":6,"title":"Extract Local State into Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"extract-local-state-into-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/extract-local-state-into-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614a","block":"react-and-redux","challengeType":6,"title":"Moving Forward From Here","order":5,"superBlock":"front-end-development-libraries","dashedName":"moving-forward-from-here","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/moving-forward-from-here","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd13","block":"front-end-development-libraries-projects","challengeType":3,"title":"Build a Random Quote Machine","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-random-quote-machine","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7157d8c242eddfaeb5bd13","block":"front-end-development-libraries-projects","challengeType":3,"title":"Build a Markdown Previewer","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-markdown-previewer","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"587d7dbc367417b2b2512bae","block":"front-end-development-libraries-projects","challengeType":3,"title":"Build a Drum Machine","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-drum-machine","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd17","block":"front-end-development-libraries-projects","challengeType":3,"title":"Build a JavaScript Calculator","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-javascript-calculator","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd0f","block":"front-end-development-libraries-projects","challengeType":3,"title":"Build a 25 + 5 Clock","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-25--5-clock","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-25--5-clock","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc2","block":"data-visualization-with-d3","challengeType":6,"title":"Add Document Elements with D3","order":0,"superBlock":"data-visualization","dashedName":"add-document-elements-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-document-elements-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc3","block":"data-visualization-with-d3","challengeType":6,"title":"Select a Group of Elements with D3","order":0,"superBlock":"data-visualization","dashedName":"select-a-group-of-elements-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/select-a-group-of-elements-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc4","block":"data-visualization-with-d3","challengeType":6,"title":"Work with Data in D3","order":0,"superBlock":"data-visualization","dashedName":"work-with-data-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/work-with-data-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc5","block":"data-visualization-with-d3","challengeType":6,"title":"Work with Dynamic Data in D3","order":0,"superBlock":"data-visualization","dashedName":"work-with-dynamic-data-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/work-with-dynamic-data-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc6","block":"data-visualization-with-d3","challengeType":6,"title":"Add Inline Styling to Elements","order":0,"superBlock":"data-visualization","dashedName":"add-inline-styling-to-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-inline-styling-to-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc7","block":"data-visualization-with-d3","challengeType":6,"title":"Change Styles Based on Data","order":0,"superBlock":"data-visualization","dashedName":"change-styles-based-on-data","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-styles-based-on-data","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc8","block":"data-visualization-with-d3","challengeType":6,"title":"Add Classes with D3","order":0,"superBlock":"data-visualization","dashedName":"add-classes-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-classes-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bc9","block":"data-visualization-with-d3","challengeType":6,"title":"Update the Height of an Element Dynamically","order":0,"superBlock":"data-visualization","dashedName":"update-the-height-of-an-element-dynamically","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/update-the-height-of-an-element-dynamically","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bca","block":"data-visualization-with-d3","challengeType":6,"title":"Change the Presentation of a Bar Chart","order":0,"superBlock":"data-visualization","dashedName":"change-the-presentation-of-a-bar-chart","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-the-presentation-of-a-bar-chart","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcb","block":"data-visualization-with-d3","challengeType":6,"title":"Learn About SVG in D3","order":0,"superBlock":"data-visualization","dashedName":"learn-about-svg-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/learn-about-svg-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcc","block":"data-visualization-with-d3","challengeType":6,"title":"Display Shapes with SVG","order":0,"superBlock":"data-visualization","dashedName":"display-shapes-with-svg","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/display-shapes-with-svg","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcd","block":"data-visualization-with-d3","challengeType":6,"title":"Create a Bar for Each Data Point in the Set","order":0,"superBlock":"data-visualization","dashedName":"create-a-bar-for-each-data-point-in-the-set","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-bar-for-each-data-point-in-the-set","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bce","block":"data-visualization-with-d3","challengeType":6,"title":"Dynamically Set the Coordinates for Each Bar","order":0,"superBlock":"data-visualization","dashedName":"dynamically-set-the-coordinates-for-each-bar","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/dynamically-set-the-coordinates-for-each-bar","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bcf","block":"data-visualization-with-d3","challengeType":6,"title":"Dynamically Change the Height of Each Bar","order":0,"superBlock":"data-visualization","dashedName":"dynamically-change-the-height-of-each-bar","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/dynamically-change-the-height-of-each-bar","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bd0","block":"data-visualization-with-d3","challengeType":6,"title":"Invert SVG Elements","order":0,"superBlock":"data-visualization","dashedName":"invert-svg-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/invert-svg-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bd1","block":"data-visualization-with-d3","challengeType":6,"title":"Change the Color of an SVG Element","order":0,"superBlock":"data-visualization","dashedName":"change-the-color-of-an-svg-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-the-color-of-an-svg-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd2","block":"data-visualization-with-d3","challengeType":6,"title":"Add Labels to D3 Elements","order":0,"superBlock":"data-visualization","dashedName":"add-labels-to-d3-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-labels-to-d3-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd3","block":"data-visualization-with-d3","challengeType":6,"title":"Style D3 Labels","order":0,"superBlock":"data-visualization","dashedName":"style-d3-labels","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/style-d3-labels","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd4","block":"data-visualization-with-d3","challengeType":6,"title":"Add a Hover Effect to a D3 Element","order":0,"superBlock":"data-visualization","dashedName":"add-a-hover-effect-to-a-d3-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-a-hover-effect-to-a-d3-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd6","block":"data-visualization-with-d3","challengeType":6,"title":"Add a Tooltip to a D3 Element","order":0,"superBlock":"data-visualization","dashedName":"add-a-tooltip-to-a-d3-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd7","block":"data-visualization-with-d3","challengeType":6,"title":"Create a Scatterplot with SVG Circles","order":0,"superBlock":"data-visualization","dashedName":"create-a-scatterplot-with-svg-circles","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-scatterplot-with-svg-circles","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd8","block":"data-visualization-with-d3","challengeType":6,"title":"Add Attributes to the Circle Elements","order":0,"superBlock":"data-visualization","dashedName":"add-attributes-to-the-circle-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-attributes-to-the-circle-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd9","block":"data-visualization-with-d3","challengeType":6,"title":"Add Labels to Scatter Plot Circles","order":0,"superBlock":"data-visualization","dashedName":"add-labels-to-scatter-plot-circles","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bda","block":"data-visualization-with-d3","challengeType":6,"title":"Create a Linear Scale with D3","order":0,"superBlock":"data-visualization","dashedName":"create-a-linear-scale-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-linear-scale-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdb","block":"data-visualization-with-d3","challengeType":6,"title":"Set a Domain and a Range on a Scale","order":0,"superBlock":"data-visualization","dashedName":"set-a-domain-and-a-range-on-a-scale","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdc","block":"data-visualization-with-d3","challengeType":6,"title":"Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset","order":0,"superBlock":"data-visualization","dashedName":"use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdd","block":"data-visualization-with-d3","challengeType":6,"title":"Use Dynamic Scales","order":0,"superBlock":"data-visualization","dashedName":"use-dynamic-scales","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-dynamic-scales","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bde","block":"data-visualization-with-d3","challengeType":6,"title":"Use a Pre-Defined Scale to Place Elements","order":0,"superBlock":"data-visualization","dashedName":"use-a-pre-defined-scale-to-place-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-a-pre-defined-scale-to-place-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512bdf","block":"data-visualization-with-d3","challengeType":6,"title":"Add Axes to a Visualization","order":0,"superBlock":"data-visualization","dashedName":"add-axes-to-a-visualization","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-axes-to-a-visualization","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512be1","block":"json-apis-and-ajax","challengeType":6,"title":"Handle Click Events with JavaScript using the onclick property","order":1,"superBlock":"data-visualization","dashedName":"handle-click-events-with-javascript-using-the-onclick-property","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/handle-click-events-with-javascript-using-the-onclick-property","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512be2","block":"json-apis-and-ajax","challengeType":6,"title":"Change Text with click Events","order":1,"superBlock":"data-visualization","dashedName":"change-text-with-click-events","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/change-text-with-click-events","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be3","block":"json-apis-and-ajax","challengeType":6,"title":"Get JSON with the JavaScript XMLHttpRequest Method","order":1,"superBlock":"data-visualization","dashedName":"get-json-with-the-javascript-xmlhttprequest-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"5ccfad82bb2dc6c965a848e5","block":"json-apis-and-ajax","challengeType":6,"title":"Get JSON with the JavaScript fetch method","order":1,"superBlock":"data-visualization","dashedName":"get-json-with-the-javascript-fetch-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-fetch-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be4","block":"json-apis-and-ajax","challengeType":6,"title":"Access the JSON Data from an API","order":1,"superBlock":"data-visualization","dashedName":"access-the-json-data-from-an-api","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be5","block":"json-apis-and-ajax","challengeType":6,"title":"Convert JSON Data to HTML","order":1,"superBlock":"data-visualization","dashedName":"convert-json-data-to-html","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/convert-json-data-to-html","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be6","block":"json-apis-and-ajax","challengeType":6,"title":"Render Images from Data Sources","order":1,"superBlock":"data-visualization","dashedName":"render-images-from-data-sources","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/render-images-from-data-sources","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be7","block":"json-apis-and-ajax","challengeType":6,"title":"Pre-filter JSON to Get the Data You Need","order":1,"superBlock":"data-visualization","dashedName":"pre-filter-json-to-get-the-data-you-need","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/pre-filter-json-to-get-the-data-you-need","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7faf367417b2b2512be8","block":"json-apis-and-ajax","challengeType":6,"title":"Get Geolocation Data to Find A User's GPS Coordinates","order":1,"superBlock":"data-visualization","dashedName":"get-geolocation-data-to-find-a-users-gps-coordinates","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7faf367417b2b2512be9","block":"json-apis-and-ajax","challengeType":6,"title":"Post Data with the JavaScript XMLHttpRequest Method","order":1,"superBlock":"data-visualization","dashedName":"post-data-with-the-javascript-xmlhttprequest-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"bd7168d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualize Data with a Bar Chart","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-bar-chart","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"bd7178d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualize Data with a Scatterplot Graph","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-scatterplot-graph","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"bd7188d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualize Data with a Heat Map","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-heat-map","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-heat-map","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bbf","block":"data-visualization-projects","challengeType":3,"title":"Visualize Data with a Choropleth Map","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-choropleth-map","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc0","block":"data-visualization-projects","challengeType":3,"title":"Visualize Data with a Treemap Diagram","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-treemap-diagram","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"5ea8adfab628f68d805bfc5e","block":"learn-bash-by-building-a-boilerplate","challengeType":12,"title":"Build a Boilerplate","order":0,"superBlock":"relational-database","dashedName":"build-a-boilerplate","fields":{"slug":"/learn/relational-database/learn-bash-by-building-a-boilerplate/build-a-boilerplate","blockName":"Learn Bash By Building A Boilerplate"}}}},{"node":{"challenge":{"id":"5f2c289f164c29556da632fd","block":"learn-relational-databases-by-building-a-mario-database","challengeType":12,"title":"Build a Mario Database","order":1,"superBlock":"relational-database","dashedName":"build-a-mario-database","fields":{"slug":"/learn/relational-database/learn-relational-databases-by-building-a-mario-database/build-a-mario-database","blockName":"Learn Relational Databases By Building A Mario Database"}}}},{"node":{"challenge":{"id":"5f1a4ef5d5d6b5ab580fc6ae","block":"build-a-celestial-bodies-database-project","challengeType":13,"title":"Build a Celestial Bodies Database","order":2,"superBlock":"relational-database","dashedName":"build-a-celestial-bodies-database","fields":{"slug":"/learn/relational-database/build-a-celestial-bodies-database-project/build-a-celestial-bodies-database","blockName":"Build A Celestial Bodies Database Project"}}}},{"node":{"challenge":{"id":"5f5904ac738bc2fa9efecf5a","block":"learn-bash-scripting-by-building-five-programs","challengeType":12,"title":"Build Five Programs","order":3,"superBlock":"relational-database","dashedName":"build-five-programs","fields":{"slug":"/learn/relational-database/learn-bash-scripting-by-building-five-programs/build-five-programs","blockName":"Learn Bash Scripting By Building Five Programs"}}}},{"node":{"challenge":{"id":"602da0c222201c65d2a019f5","block":"learn-sql-by-building-a-student-database-part-1","challengeType":12,"title":"Build a Student Database: Part 1","order":4,"superBlock":"relational-database","dashedName":"build-a-student-database-part-1","fields":{"slug":"/learn/relational-database/learn-sql-by-building-a-student-database-part-1/build-a-student-database-part-1","blockName":"Learn Sql By Building A Student Database Part 1"}}}},{"node":{"challenge":{"id":"618590adb0730ca724e37672","block":"learn-sql-by-building-a-student-database-part-2","challengeType":12,"title":"Build a Student Database: Part 2","order":5,"superBlock":"relational-database","dashedName":"build-a-student-database-part-2","fields":{"slug":"/learn/relational-database/learn-sql-by-building-a-student-database-part-2/build-a-student-database-part-2","blockName":"Learn Sql By Building A Student Database Part 2"}}}},{"node":{"challenge":{"id":"5f9771307d4d22b9d2b75a94","block":"build-a-world-cup-database-project","challengeType":13,"title":"Build a World Cup Database","order":6,"superBlock":"relational-database","dashedName":"build-a-world-cup-database","fields":{"slug":"/learn/relational-database/build-a-world-cup-database-project/build-a-world-cup-database","blockName":"Build A World Cup Database Project"}}}},{"node":{"challenge":{"id":"602da0de22201c65d2a019f6","block":"learn-advanced-bash-by-building-a-kitty-ipsum-translator","challengeType":12,"title":"Build a Kitty Ipsum Translator","order":7,"superBlock":"relational-database","dashedName":"build-a-kitty-ipsum-translator","fields":{"slug":"/learn/relational-database/learn-advanced-bash-by-building-a-kitty-ipsum-translator/build-a-kitty-ipsum-translator","blockName":"Learn Advanced Bash By Building A Kitty Ipsum Translator"}}}},{"node":{"challenge":{"id":"5f5b969a05380d2179fe6e18","block":"learn-bash-and-sql-by-building-a-bike-rental-shop","challengeType":12,"title":"Build a Bike Rental Shop","order":8,"superBlock":"relational-database","dashedName":"build-a-bike-rental-shop","fields":{"slug":"/learn/relational-database/learn-bash-and-sql-by-building-a-bike-rental-shop/build-a-bike-rental-shop","blockName":"Learn Bash and Sql By Building A Bike Rental Shop"}}}},{"node":{"challenge":{"id":"5f87ac112ae598023a42df1a","block":"build-a-salon-appointment-scheduler-project","challengeType":13,"title":"Build a Salon Appointment Scheduler","order":9,"superBlock":"relational-database","dashedName":"build-a-salon-appointment-scheduler","fields":{"slug":"/learn/relational-database/build-a-salon-appointment-scheduler-project/build-a-salon-appointment-scheduler","blockName":"Build A Salon Appointment Scheduler Project"}}}},{"node":{"challenge":{"id":"5f32db63eb37f7e17323f459","block":"learn-nano-by-building-a-castle","challengeType":12,"title":"Build a Castle","order":10,"superBlock":"relational-database","dashedName":"build-a-castle","fields":{"slug":"/learn/relational-database/learn-nano-by-building-a-castle/build-a-castle","blockName":"Learn Nano By Building A Castle"}}}},{"node":{"challenge":{"id":"5fa323cdaf6a73463d590659","block":"learn-git-by-building-an-sql-reference-object","challengeType":12,"title":"Build an SQL Reference Object","order":11,"superBlock":"relational-database","dashedName":"build-an-sql-reference-object","fields":{"slug":"/learn/relational-database/learn-git-by-building-an-sql-reference-object/build-an-sql-reference-object","blockName":"Learn Git By Building An Sql Reference Object"}}}},{"node":{"challenge":{"id":"602d9ff222201c65d2a019f2","block":"build-a-periodic-table-database-project","challengeType":13,"title":"Build a Periodic Table Database","order":12,"superBlock":"relational-database","dashedName":"build-a-periodic-table-database","fields":{"slug":"/learn/relational-database/build-a-periodic-table-database-project/build-a-periodic-table-database","blockName":"Build A Periodic Table Database Project"}}}},{"node":{"challenge":{"id":"602da04c22201c65d2a019f4","block":"build-a-number-guessing-game-project","challengeType":13,"title":"Build a Number Guessing Game","order":13,"superBlock":"relational-database","dashedName":"build-a-number-guessing-game","fields":{"slug":"/learn/relational-database/build-a-number-guessing-game-project/build-a-number-guessing-game","blockName":"Build A Number Guessing Game Project"}}}},{"node":{"challenge":{"id":"587d7fb3367417b2b2512bfb","block":"managing-packages-with-npm","challengeType":2,"title":"How to Use package.json, the Core of Any Node.js Project or npm Package","order":0,"superBlock":"back-end-development-and-apis","dashedName":"how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb3367417b2b2512bfc","block":"managing-packages-with-npm","challengeType":2,"title":"Add a Description to Your package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-description-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-description-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bfd","block":"managing-packages-with-npm","challengeType":2,"title":"Add Keywords to Your package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-keywords-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bfe","block":"managing-packages-with-npm","challengeType":2,"title":"Add a License to Your package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-license-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-license-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bff","block":"managing-packages-with-npm","challengeType":2,"title":"Add a Version to Your package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-version-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-version-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512c00","block":"managing-packages-with-npm","challengeType":2,"title":"Expand Your Project with External Packages from npm","order":0,"superBlock":"back-end-development-and-apis","dashedName":"expand-your-project-with-external-packages-from-npm","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/expand-your-project-with-external-packages-from-npm","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c01","block":"managing-packages-with-npm","challengeType":2,"title":"Manage npm Dependencies By Understanding Semantic Versioning","order":0,"superBlock":"back-end-development-and-apis","dashedName":"manage-npm-dependencies-by-understanding-semantic-versioning","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/manage-npm-dependencies-by-understanding-semantic-versioning","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c02","block":"managing-packages-with-npm","challengeType":2,"title":"Use the Tilde-Character to Always Use the Latest Patch Version of a Dependency","order":0,"superBlock":"back-end-development-and-apis","dashedName":"use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c03","block":"managing-packages-with-npm","challengeType":2,"title":"Use the Caret-Character to Use the Latest Minor Version of a Dependency","order":0,"superBlock":"back-end-development-and-apis","dashedName":"use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c04","block":"managing-packages-with-npm","challengeType":2,"title":"Remove a Package from Your Dependencies","order":0,"superBlock":"back-end-development-and-apis","dashedName":"remove-a-package-from-your-dependencies","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/remove-a-package-from-your-dependencies","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bed","block":"basic-node-and-express","challengeType":2,"title":"Meet the Node console","order":1,"superBlock":"back-end-development-and-apis","dashedName":"meet-the-node-console","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/meet-the-node-console","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bee","block":"basic-node-and-express","challengeType":2,"title":"Start a Working Express Server","order":1,"superBlock":"back-end-development-and-apis","dashedName":"start-a-working-express-server","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/start-a-working-express-server","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bef","block":"basic-node-and-express","challengeType":2,"title":"Serve an HTML File","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-an-html-file","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-an-html-file","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bf0","block":"basic-node-and-express","challengeType":2,"title":"Serve Static Assets","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-static-assets","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-static-assets","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf1","block":"basic-node-and-express","challengeType":2,"title":"Serve JSON on a Specific Route","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-json-on-a-specific-route","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf2","block":"basic-node-and-express","challengeType":2,"title":"Use the .env File","order":1,"superBlock":"back-end-development-and-apis","dashedName":"use-the--env-file","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/use-the--env-file","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf3","block":"basic-node-and-express","challengeType":2,"title":"Implement a Root-Level Request Logger Middleware","order":1,"superBlock":"back-end-development-and-apis","dashedName":"implement-a-root-level-request-logger-middleware","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/implement-a-root-level-request-logger-middleware","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf4","block":"basic-node-and-express","challengeType":2,"title":"Chain Middleware to Create a Time Server","order":1,"superBlock":"back-end-development-and-apis","dashedName":"chain-middleware-to-create-a-time-server","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/chain-middleware-to-create-a-time-server","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf5","block":"basic-node-and-express","challengeType":2,"title":"Get Route Parameter Input from the Client","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-route-parameter-input-from-the-client","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-route-parameter-input-from-the-client","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf6","block":"basic-node-and-express","challengeType":2,"title":"Get Query Parameter Input from the Client","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-query-parameter-input-from-the-client","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-query-parameter-input-from-the-client","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf7","block":"basic-node-and-express","challengeType":2,"title":"Use body-parser to Parse POST Requests","order":1,"superBlock":"back-end-development-and-apis","dashedName":"use-body-parser-to-parse-post-requests","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/use-body-parser-to-parse-post-requests","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf8","block":"basic-node-and-express","challengeType":2,"title":"Get Data from POST Requests","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-data-from-post-requests","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-data-from-post-requests","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c06","block":"mongodb-and-mongoose","challengeType":2,"title":"Install and Set Up Mongoose","order":2,"superBlock":"back-end-development-and-apis","dashedName":"install-and-set-up-mongoose","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c07","block":"mongodb-and-mongoose","challengeType":2,"title":"Create a Model","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-a-model","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-a-model","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c09","block":"mongodb-and-mongoose","challengeType":2,"title":"Create and Save a Record of a Model","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-and-save-a-record-of-a-model","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-and-save-a-record-of-a-model","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0a","block":"mongodb-and-mongoose","challengeType":2,"title":"Create Many Records with model.create()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-many-records-with-model-create","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-many-records-with-model-create","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0b","block":"mongodb-and-mongoose","challengeType":2,"title":"Use model.find() to Search Your Database","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-find-to-search-your-database","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-find-to-search-your-database","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0c","block":"mongodb-and-mongoose","challengeType":2,"title":"Use model.findOne() to Return a Single Matching Document from Your Database","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-findone-to-return-a-single-matching-document-from-your-database","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findone-to-return-a-single-matching-document-from-your-database","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0d","block":"mongodb-and-mongoose","challengeType":2,"title":"Use model.findById() to Search Your Database By _id","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-findbyid-to-search-your-database-by-id","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findbyid-to-search-your-database-by-id","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c0e","block":"mongodb-and-mongoose","challengeType":2,"title":"Perform Classic Updates by Running Find, Edit, then Save","order":2,"superBlock":"back-end-development-and-apis","dashedName":"perform-classic-updates-by-running-find-edit-then-save","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-classic-updates-by-running-find-edit-then-save","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c0f","block":"mongodb-and-mongoose","challengeType":2,"title":"Perform New Updates on a Document Using model.findOneAndUpdate()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"perform-new-updates-on-a-document-using-model-findoneandupdate","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-new-updates-on-a-document-using-model-findoneandupdate","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c10","block":"mongodb-and-mongoose","challengeType":2,"title":"Delete One Document Using model.findByIdAndRemove","order":2,"superBlock":"back-end-development-and-apis","dashedName":"delete-one-document-using-model-findbyidandremove","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-one-document-using-model-findbyidandremove","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c11","block":"mongodb-and-mongoose","challengeType":2,"title":"Delete Many Documents with model.remove()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"delete-many-documents-with-model-remove","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-many-documents-with-model-remove","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb9367417b2b2512c12","block":"mongodb-and-mongoose","challengeType":2,"title":"Chain Search Query Helpers to Narrow Search Results","order":2,"superBlock":"back-end-development-and-apis","dashedName":"chain-search-query-helpers-to-narrow-search-results","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bdef","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Timestamp Microservice","order":3,"superBlock":"back-end-development-and-apis","dashedName":"timestamp-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bdff","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Request Header Parser Microservice","order":3,"superBlock":"back-end-development-and-apis","dashedName":"request-header-parser-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bd0e","block":"back-end-development-and-apis-projects","challengeType":4,"title":"URL Shortener Microservice","order":3,"superBlock":"back-end-development-and-apis","dashedName":"url-shortener-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"5a8b073d06fa14fcfde687aa","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Exercise Tracker","order":3,"superBlock":"back-end-development-and-apis","dashedName":"exercise-tracker","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bd0f","block":"back-end-development-and-apis-projects","challengeType":4,"title":"File Metadata Microservice","order":3,"superBlock":"back-end-development-and-apis","dashedName":"file-metadata-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c46","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Learn How JavaScript Assertions Work","order":0,"superBlock":"quality-assurance","dashedName":"learn-how-javascript-assertions-work","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c47","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Variable or Function is Defined","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-variable-or-function-is-defined","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-variable-or-function-is-defined","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c48","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use Assert.isOK and Assert.isNotOK","order":0,"superBlock":"quality-assurance","dashedName":"use-assert-isok-and-assert-isnotok","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-assert-isok-and-assert-isnotok","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c49","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test for Truthiness","order":0,"superBlock":"quality-assurance","dashedName":"test-for-truthiness","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c4a","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use the Double Equals to Assert Equality","order":0,"superBlock":"quality-assurance","dashedName":"use-the-double-equals-to-assert-equality","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-double-equals-to-assert-equality","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c4b","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use the Triple Equals to Assert Strict Equality","order":0,"superBlock":"quality-assurance","dashedName":"use-the-triple-equals-to-assert-strict-equality","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-triple-equals-to-assert-strict-equality","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4c","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Assert Deep Equality with .deepEqual and .notDeepEqual","order":0,"superBlock":"quality-assurance","dashedName":"assert-deep-equality-with--deepequal-and--notdeepequal","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with--deepequal-and--notdeepequal","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4d","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Compare the Properties of Two Elements","order":0,"superBlock":"quality-assurance","dashedName":"compare-the-properties-of-two-elements","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4e","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if One Value is Below or At Least as Large as Another","order":0,"superBlock":"quality-assurance","dashedName":"test-if-one-value-is-below-or-at-least-as-large-as-another","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-one-value-is-below-or-at-least-as-large-as-another","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4f","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value Falls within a Specific Range","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-falls-within-a-specific-range","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c50","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is an Array","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-an-array","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-an-array","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c51","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Array Contains an Item","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-array-contains-an-item","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-array-contains-an-item","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c52","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is a String","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-a-string","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-a-string","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c53","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a String Contains a Substring","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-string-contains-a-substring","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c54","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use Regular Expressions to Test a String","order":0,"superBlock":"quality-assurance","dashedName":"use-regular-expressions-to-test-a-string","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-regular-expressions-to-test-a-string","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c55","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Object has a Property","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-object-has-a-property","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-has-a-property","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c56","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is of a Specific Data Structure Type","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-of-a-specific-data-structure-type","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-of-a-specific-data-structure-type","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c57","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Object is an Instance of a Constructor","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-object-is-an-instance-of-a-constructor","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-is-an-instance-of-a-constructor","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c58","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on API Endpoints using Chai-HTTP","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-api-endpoints-using-chai-http","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c59","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on API Endpoints using Chai-HTTP II","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-api-endpoints-using-chai-http-ii","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http-ii","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5a","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on an API Response using Chai-HTTP III - PUT method","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-an-api-response-using-chai-http-iii---put-method","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iii---put-method","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5b","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on an API Response using Chai-HTTP IV - PUT method","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-an-api-response-using-chai-http-iv---put-method","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5c","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Simulate Actions Using a Headless Browser","order":0,"superBlock":"quality-assurance","dashedName":"simulate-actions-using-a-headless-browser","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/simulate-actions-using-a-headless-browser","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d8250367417b2b2512c5d","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests Using a Headless Browser","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-using-a-headless-browser","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"5f8884f4c46685731aabfc41","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests Using a Headless Browser II","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-using-a-headless-browser-ii","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser-ii","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"5895f700f9fc0f352b528e63","block":"advanced-node-and-express","challengeType":2,"title":"Set up a Template Engine","order":1,"superBlock":"quality-assurance","dashedName":"set-up-a-template-engine","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-a-template-engine","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70bf9fc0f352b528e64","block":"advanced-node-and-express","challengeType":2,"title":"Use a Template Engine's Powers","order":1,"superBlock":"quality-assurance","dashedName":"use-a-template-engines-powers","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/use-a-template-engines-powers","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e65","block":"advanced-node-and-express","challengeType":2,"title":"Set up Passport","order":1,"superBlock":"quality-assurance","dashedName":"set-up-passport","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-passport","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e66","block":"advanced-node-and-express","challengeType":2,"title":"Serialization of a User Object","order":1,"superBlock":"quality-assurance","dashedName":"serialization-of-a-user-object","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/serialization-of-a-user-object","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e67","block":"advanced-node-and-express","challengeType":2,"title":"Implement the Serialization of a Passport User","order":1,"superBlock":"quality-assurance","dashedName":"implement-the-serialization-of-a-passport-user","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e68","block":"advanced-node-and-express","challengeType":2,"title":"Authentication Strategies","order":1,"superBlock":"quality-assurance","dashedName":"authentication-strategies","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/authentication-strategies","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e69","block":"advanced-node-and-express","challengeType":2,"title":"How to Use Passport Strategies","order":1,"superBlock":"quality-assurance","dashedName":"how-to-use-passport-strategies","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/how-to-use-passport-strategies","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e6a","block":"advanced-node-and-express","challengeType":2,"title":"Create New Middleware","order":1,"superBlock":"quality-assurance","dashedName":"create-new-middleware","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/create-new-middleware","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70ef9fc0f352b528e6b","block":"advanced-node-and-express","challengeType":2,"title":"How to Put a Profile Together","order":1,"superBlock":"quality-assurance","dashedName":"how-to-put-a-profile-together","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/how-to-put-a-profile-together","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58965611f9fc0f352b528e6c","block":"advanced-node-and-express","challengeType":2,"title":"Logging a User Out","order":1,"superBlock":"quality-assurance","dashedName":"logging-a-user-out","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/logging-a-user-out","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58966a17f9fc0f352b528e6d","block":"advanced-node-and-express","challengeType":2,"title":"Registration of New Users","order":1,"superBlock":"quality-assurance","dashedName":"registration-of-new-users","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/registration-of-new-users","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58a25c98f9fc0f352b528e7f","block":"advanced-node-and-express","challengeType":2,"title":"Hashing Your Passwords","order":1,"superBlock":"quality-assurance","dashedName":"hashing-your-passwords","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/hashing-your-passwords","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589690e6f9fc0f352b528e6e","block":"advanced-node-and-express","challengeType":2,"title":"Clean Up Your Project with Modules","order":1,"superBlock":"quality-assurance","dashedName":"clean-up-your-project-with-modules","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/clean-up-your-project-with-modules","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a69f5f9fc0f352b528e70","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a69f5f9fc0f352b528e71","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication II","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication-ii","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-ii","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a8eb3f9fc0f352b528e72","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication III","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication-iii","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-iii","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc830f9fc0f352b528e74","block":"advanced-node-and-express","challengeType":2,"title":"Set up the Environment","order":1,"superBlock":"quality-assurance","dashedName":"set-up-the-environment","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-the-environment","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e75","block":"advanced-node-and-express","challengeType":2,"title":"Communicate by Emitting","order":1,"superBlock":"quality-assurance","dashedName":"communicate-by-emitting","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/communicate-by-emitting","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e76","block":"advanced-node-and-express","challengeType":2,"title":"Handle a Disconnect","order":1,"superBlock":"quality-assurance","dashedName":"handle-a-disconnect","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/handle-a-disconnect","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e77","block":"advanced-node-and-express","challengeType":2,"title":"Authentication with Socket.IO","order":1,"superBlock":"quality-assurance","dashedName":"authentication-with-socket-io","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/authentication-with-socket-io","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc832f9fc0f352b528e78","block":"advanced-node-and-express","challengeType":2,"title":"Announce New Users","order":1,"superBlock":"quality-assurance","dashedName":"announce-new-users","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/announce-new-users","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc832f9fc0f352b528e79","block":"advanced-node-and-express","challengeType":2,"title":"Send and Display Chat Messages","order":1,"superBlock":"quality-assurance","dashedName":"send-and-display-chat-messages","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/send-and-display-chat-messages","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c41","block":"quality-assurance-projects","challengeType":4,"title":"Metric-Imperial Converter","order":2,"superBlock":"quality-assurance","dashedName":"metric-imperial-converter","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/metric-imperial-converter","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c42","block":"quality-assurance-projects","challengeType":4,"title":"Issue Tracker","order":2,"superBlock":"quality-assurance","dashedName":"issue-tracker","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/issue-tracker","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c43","block":"quality-assurance-projects","challengeType":4,"title":"Personal Library","order":2,"superBlock":"quality-assurance","dashedName":"personal-library","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/personal-library","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e601bf95ac9d0ecd8b94afd","block":"quality-assurance-projects","challengeType":4,"title":"Sudoku Solver","order":2,"superBlock":"quality-assurance","dashedName":"sudoku-solver","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/sudoku-solver","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e601c0d5ac9d0ecd8b94afe","block":"quality-assurance-projects","challengeType":4,"title":"American British Translator","order":2,"superBlock":"quality-assurance","dashedName":"american-british-translator","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/american-british-translator","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e6a54a558d3af90110a60a0","block":"python-for-everybody","challengeType":11,"title":"Introduction: Why Program?","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-why-program","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-why-program","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54af58d3af90110a60a1","block":"python-for-everybody","challengeType":11,"title":"Introduction: Hardware Architecture","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-hardware-architecture","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-hardware-architecture","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54ba58d3af90110a60a2","block":"python-for-everybody","challengeType":11,"title":"Introduction: Python as a Language","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-python-as-a-language","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-python-as-a-language","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54c358d3af90110a60a3","block":"python-for-everybody","challengeType":11,"title":"Introduction: Elements of Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-elements-of-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-elements-of-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f056","block":"python-for-everybody","challengeType":11,"title":"Variables, Expressions, and Statements","order":0,"superBlock":"scientific-computing-with-python","dashedName":"variables-expressions-and-statements","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/variables-expressions-and-statements","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f057","block":"python-for-everybody","challengeType":11,"title":"Intermediate Expressions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"intermediate-expressions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/intermediate-expressions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f058","block":"python-for-everybody","challengeType":11,"title":"Conditional Execution","order":0,"superBlock":"scientific-computing-with-python","dashedName":"conditional-execution","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/conditional-execution","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f059","block":"python-for-everybody","challengeType":11,"title":"More Conditional Structures","order":0,"superBlock":"scientific-computing-with-python","dashedName":"more-conditional-structures","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/more-conditional-structures","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05a","block":"python-for-everybody","challengeType":11,"title":"Python Functions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-functions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-functions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05b","block":"python-for-everybody","challengeType":11,"title":"Build your own Functions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"build-your-own-functions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/build-your-own-functions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05c","block":"python-for-everybody","challengeType":11,"title":"Loops and Iterations","order":0,"superBlock":"scientific-computing-with-python","dashedName":"loops-and-iterations","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/loops-and-iterations","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05d","block":"python-for-everybody","challengeType":11,"title":"Iterations: Definite Loops","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-definite-loops","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-definite-loops","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05e","block":"python-for-everybody","challengeType":11,"title":"Iterations: Loop Idioms","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-loop-idioms","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-loop-idioms","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05f","block":"python-for-everybody","challengeType":11,"title":"Iterations: More Patterns","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-more-patterns","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-more-patterns","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f060","block":"python-for-everybody","challengeType":11,"title":"Strings in Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"strings-in-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/strings-in-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f061","block":"python-for-everybody","challengeType":11,"title":"Intermediate Strings","order":0,"superBlock":"scientific-computing-with-python","dashedName":"intermediate-strings","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/intermediate-strings","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f062","block":"python-for-everybody","challengeType":11,"title":"Reading Files","order":0,"superBlock":"scientific-computing-with-python","dashedName":"reading-files","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/reading-files","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f063","block":"python-for-everybody","challengeType":11,"title":"Files as a Sequence","order":0,"superBlock":"scientific-computing-with-python","dashedName":"files-as-a-sequence","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/files-as-a-sequence","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f064","block":"python-for-everybody","challengeType":11,"title":"Python Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f065","block":"python-for-everybody","challengeType":11,"title":"Working with Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"working-with-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/working-with-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f066","block":"python-for-everybody","challengeType":11,"title":"Strings and Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"strings-and-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/strings-and-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f067","block":"python-for-everybody","challengeType":11,"title":"Python Dictionaries","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-dictionaries","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-dictionaries","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f068","block":"python-for-everybody","challengeType":11,"title":"Dictionaries: Common Applications","order":0,"superBlock":"scientific-computing-with-python","dashedName":"dictionaries-common-applications","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/dictionaries-common-applications","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0a0b6c005b0e76f069","block":"python-for-everybody","challengeType":11,"title":"Dictionaries and Loops","order":0,"superBlock":"scientific-computing-with-python","dashedName":"dictionaries-and-loops","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/dictionaries-and-loops","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0a0b6c005b0e76f06c","block":"python-for-everybody","challengeType":11,"title":"The Tuples Collection","order":0,"superBlock":"scientific-computing-with-python","dashedName":"the-tuples-collection","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/the-tuples-collection","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06d","block":"python-for-everybody","challengeType":11,"title":"Comparing and Sorting Tuples","order":0,"superBlock":"scientific-computing-with-python","dashedName":"comparing-and-sorting-tuples","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06e","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06f","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions: Matching and Extracting Data","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions-matching-and-extracting-data","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-matching-and-extracting-data","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f070","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions: Practical Applications","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions-practical-applications","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-practical-applications","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f071","block":"python-for-everybody","challengeType":11,"title":"Networking with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f072","block":"python-for-everybody","challengeType":11,"title":"Networking Protocol","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-protocol","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-protocol","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f073","block":"python-for-everybody","challengeType":11,"title":"Networking: Write a Web Browser","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-write-a-web-browser","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-write-a-web-browser","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f074","block":"python-for-everybody","challengeType":11,"title":"Networking: Text Processing","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-text-processing","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-text-processing","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0d0b6c005b0e76f075","block":"python-for-everybody","challengeType":11,"title":"Networking: Using urllib in Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-using-urllib-in-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-using-urllib-in-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0d0b6c005b0e76f076","block":"python-for-everybody","challengeType":11,"title":"Networking: Web Scraping with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-web-scraping-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07a","block":"python-for-everybody","challengeType":11,"title":"Using Web Services","order":0,"superBlock":"scientific-computing-with-python","dashedName":"using-web-services","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/using-web-services","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07b","block":"python-for-everybody","challengeType":11,"title":"Web Services: XML","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-xml","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-xml","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07c","block":"python-for-everybody","challengeType":11,"title":"Web Services: XML Schema","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-xml-schema","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-xml-schema","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f140b6c005b0e76f07d","block":"python-for-everybody","challengeType":11,"title":"Web Services: JSON","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-json","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-json","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f140b6c005b0e76f07e","block":"python-for-everybody","challengeType":11,"title":"Web Services: Service Oriented Approach","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-service-oriented-approach","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-service-oriented-approach","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f150b6c005b0e76f07f","block":"python-for-everybody","challengeType":11,"title":"Web Services: APIs","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-apis","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-apis","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f150b6c005b0e76f080","block":"python-for-everybody","challengeType":11,"title":"Web Services: API Rate Limiting and Security","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-api-rate-limiting-and-security","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f160b6c005b0e76f085","block":"python-for-everybody","challengeType":11,"title":"Python Objects","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-objects","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-objects","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f160b6c005b0e76f086","block":"python-for-everybody","challengeType":11,"title":"Objects: A Sample Class","order":0,"superBlock":"scientific-computing-with-python","dashedName":"objects-a-sample-class","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/objects-a-sample-class","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f087","block":"python-for-everybody","challengeType":11,"title":"Object Lifecycle","order":0,"superBlock":"scientific-computing-with-python","dashedName":"object-lifecycle","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/object-lifecycle","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f088","block":"python-for-everybody","challengeType":11,"title":"Objects: Inheritance","order":0,"superBlock":"scientific-computing-with-python","dashedName":"objects-inheritance","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/objects-inheritance","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f08a","block":"python-for-everybody","challengeType":11,"title":"Relational Databases and SQLite","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-and-sqlite","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f08b","block":"python-for-everybody","challengeType":11,"title":"Make a Relational Database","order":0,"superBlock":"scientific-computing-with-python","dashedName":"make-a-relational-database","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/make-a-relational-database","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08c","block":"python-for-everybody","challengeType":11,"title":"Relational Database Design","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-database-design","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-database-design","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08d","block":"python-for-everybody","challengeType":11,"title":"Representing Relationships in a Relational Database","order":0,"superBlock":"scientific-computing-with-python","dashedName":"representing-relationships-in-a-relational-database","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/representing-relationships-in-a-relational-database","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08e","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Relationship Building","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-relationship-building","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-relationship-building","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08f","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Join Operation","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-join-operation","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-join-operation","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f190b6c005b0e76f090","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Many-to-many Relationships","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-many-to-many-relationships","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f690b6c005b0e76f095","block":"python-for-everybody","challengeType":11,"title":"Visualizing Data with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"visualizing-data-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/visualizing-data-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f6a0b6c005b0e76f096","block":"python-for-everybody","challengeType":11,"title":"Data Visualization: Page Rank","order":0,"superBlock":"scientific-computing-with-python","dashedName":"data-visualization-page-rank","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/data-visualization-page-rank","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f6a0b6c005b0e76f097","block":"python-for-everybody","challengeType":11,"title":"Data Visualization: Mailing Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"data-visualization-mailing-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e44412c903586ffb414c94c","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Arithmetic Formatter","order":1,"superBlock":"scientific-computing-with-python","dashedName":"arithmetic-formatter","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/arithmetic-formatter","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e444136903586ffb414c94d","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Time Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"time-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/time-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e44413e903586ffb414c94e","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Budget App","order":1,"superBlock":"scientific-computing-with-python","dashedName":"budget-app","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/budget-app","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e444147903586ffb414c94f","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Polygon Area Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"polygon-area-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/polygon-area-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e44414f903586ffb414c950","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Probability Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"probability-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/probability-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14c","block":"data-analysis-with-python-course","challengeType":11,"title":"Introduction to Data Analysis","order":0,"superBlock":"data-analysis-with-python","dashedName":"introduction-to-data-analysis","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/introduction-to-data-analysis","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14d","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Analysis Example A","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-analysis-example-a","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14e","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Analysis Example B","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-analysis-example-b","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14f","block":"data-analysis-with-python-course","challengeType":11,"title":"How to use Jupyter Notebooks Intro","order":0,"superBlock":"data-analysis-with-python","dashedName":"how-to-use-jupyter-notebooks-intro","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c150","block":"data-analysis-with-python-course","challengeType":11,"title":"Jupyter Notebooks Cells","order":0,"superBlock":"data-analysis-with-python","dashedName":"jupyter-notebooks-cells","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c151","block":"data-analysis-with-python-course","challengeType":11,"title":"Jupyter Notebooks Importing and Exporting Data","order":0,"superBlock":"data-analysis-with-python","dashedName":"jupyter-notebooks-importing-and-exporting-data","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c152","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Introduction A","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-introduction-a","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c153","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Introduction B","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-introduction-b","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c154","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Arrays","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-arrays","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-arrays","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c155","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Operations","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-operations","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-operations","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c156","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Boolean Arrays","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-boolean-arrays","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c157","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Algebra and Size","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-algebra-and-size","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c158","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c159","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Indexing and Conditional Selection","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-indexing-and-conditional-selection","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15a","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15b","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Conditional Selection and Modifying DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-conditional-selection-and-modifying-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15c","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Creating Columns","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-creating-columns","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15d","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15e","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning with DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-with-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15f","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning Duplicates","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-duplicates","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c160","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning and Visualizations","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-and-visualizations","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c161","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c162","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data CSV and TXT","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-csv-and-txt","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c163","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data from Databases","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-from-databases","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c164","block":"data-analysis-with-python-course","challengeType":11,"title":"Parsing HTML and Saving Data","order":0,"superBlock":"data-analysis-with-python","dashedName":"parsing-html-and-saving-data","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c165","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c166","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Functions and Collections","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-functions-and-collections","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c167","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Iteration and Modules","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-iteration-and-modules","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed2","block":"numpy","challengeType":11,"title":"What is NumPy","order":1,"superBlock":"data-analysis-with-python","dashedName":"what-is-numpy","fields":{"slug":"/learn/data-analysis-with-python/numpy/what-is-numpy","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed3","block":"numpy","challengeType":11,"title":"Basics of Numpy","order":1,"superBlock":"data-analysis-with-python","dashedName":"basics-of-numpy","fields":{"slug":"/learn/data-analysis-with-python/numpy/basics-of-numpy","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed4","block":"numpy","challengeType":11,"title":"Accessing and Changing Elements, Rows, Columns","order":1,"superBlock":"data-analysis-with-python","dashedName":"accessing-and-changing-elements-rows-columns","fields":{"slug":"/learn/data-analysis-with-python/numpy/accessing-and-changing-elements-rows-columns","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed5","block":"numpy","challengeType":11,"title":"Initializing Different Arrays","order":1,"superBlock":"data-analysis-with-python","dashedName":"initializing-different-arrays","fields":{"slug":"/learn/data-analysis-with-python/numpy/initializing-different-arrays","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed6","block":"numpy","challengeType":11,"title":"Initialize Array Problem","order":1,"superBlock":"data-analysis-with-python","dashedName":"initialize-array-problem","fields":{"slug":"/learn/data-analysis-with-python/numpy/initialize-array-problem","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed7","block":"numpy","challengeType":11,"title":"Copying Arrays Warning","order":1,"superBlock":"data-analysis-with-python","dashedName":"copying-arrays-warning","fields":{"slug":"/learn/data-analysis-with-python/numpy/copying-arrays-warning","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed8","block":"numpy","challengeType":11,"title":"Mathematics","order":1,"superBlock":"data-analysis-with-python","dashedName":"mathematics","fields":{"slug":"/learn/data-analysis-with-python/numpy/mathematics","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed9","block":"numpy","challengeType":11,"title":"Reorganizing Arrays","order":1,"superBlock":"data-analysis-with-python","dashedName":"reorganizing-arrays","fields":{"slug":"/learn/data-analysis-with-python/numpy/reorganizing-arrays","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600eda","block":"numpy","challengeType":11,"title":"Loading Data and Advanced Indexing","order":1,"superBlock":"data-analysis-with-python","dashedName":"loading-data-and-advanced-indexing","fields":{"slug":"/learn/data-analysis-with-python/numpy/loading-data-and-advanced-indexing","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e46f7e5ac417301a38fb928","block":"data-analysis-with-python-projects","challengeType":10,"title":"Mean-Variance-Standard Deviation Calculator","order":2,"superBlock":"data-analysis-with-python","dashedName":"mean-variance-standard-deviation-calculator","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/mean-variance-standard-deviation-calculator","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f7e5ac417301a38fb929","block":"data-analysis-with-python-projects","challengeType":10,"title":"Demographic Data Analyzer","order":2,"superBlock":"data-analysis-with-python","dashedName":"demographic-data-analyzer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f7f8ac417301a38fb92a","block":"data-analysis-with-python-projects","challengeType":10,"title":"Medical Data Visualizer","order":2,"superBlock":"data-analysis-with-python","dashedName":"medical-data-visualizer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/medical-data-visualizer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f802ac417301a38fb92b","block":"data-analysis-with-python-projects","challengeType":10,"title":"Page View Time Series Visualizer","order":2,"superBlock":"data-analysis-with-python","dashedName":"page-view-time-series-visualizer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e4f5c4b570f7e3a4949899f","block":"data-analysis-with-python-projects","challengeType":10,"title":"Sea Level Predictor","order":2,"superBlock":"data-analysis-with-python","dashedName":"sea-level-predictor","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c36","block":"information-security-with-helmetjs","challengeType":2,"title":"Install and Require Helmet","order":0,"superBlock":"information-security","dashedName":"install-and-require-helmet","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/install-and-require-helmet","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c37","block":"information-security-with-helmetjs","challengeType":2,"title":"Hide Potentially Dangerous Information Using helmet.hidePoweredBy()","order":0,"superBlock":"information-security","dashedName":"hide-potentially-dangerous-information-using-helmet-hidepoweredby","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet-hidepoweredby","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c38","block":"information-security-with-helmetjs","challengeType":2,"title":"Mitigate the Risk of Clickjacking with helmet.frameguard()","order":0,"superBlock":"information-security","dashedName":"mitigate-the-risk-of-clickjacking-with-helmet-frameguard","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet-frameguard","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c39","block":"information-security-with-helmetjs","challengeType":2,"title":"Mitigate the Risk of Cross Site Scripting (XSS) Attacks with helmet.xssFilter()","order":0,"superBlock":"information-security","dashedName":"mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3a","block":"information-security-with-helmetjs","challengeType":2,"title":"Avoid Inferring the Response MIME Type with helmet.noSniff()","order":0,"superBlock":"information-security","dashedName":"avoid-inferring-the-response-mime-type-with-helmet-nosniff","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet-nosniff","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3b","block":"information-security-with-helmetjs","challengeType":2,"title":"Prevent IE from Opening Untrusted HTML with helmet.ieNoOpen()","order":0,"superBlock":"information-security","dashedName":"prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3c","block":"information-security-with-helmetjs","challengeType":2,"title":"Ask Browsers to Access Your Site via HTTPS Only with helmet.hsts()","order":0,"superBlock":"information-security","dashedName":"ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3d","block":"information-security-with-helmetjs","challengeType":2,"title":"Disable DNS Prefetching with helmet.dnsPrefetchControl()","order":0,"superBlock":"information-security","dashedName":"disable-dns-prefetching-with-helmet-dnsprefetchcontrol","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet-dnsprefetchcontrol","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c3e","block":"information-security-with-helmetjs","challengeType":2,"title":"Disable Client-Side Caching with helmet.noCache()","order":0,"superBlock":"information-security","dashedName":"disable-client-side-caching-with-helmet-nocache","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet-nocache","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c3f","block":"information-security-with-helmetjs","challengeType":2,"title":"Set a Content Security Policy with helmet.contentSecurityPolicy()","order":0,"superBlock":"information-security","dashedName":"set-a-content-security-policy-with-helmet-contentsecuritypolicy","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/set-a-content-security-policy-with-helmet-contentsecuritypolicy","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c40","block":"information-security-with-helmetjs","challengeType":2,"title":"Configure Helmet Using the ‘parent’ helmet() Middleware","order":0,"superBlock":"information-security","dashedName":"configure-helmet-using-the-parent-helmet-middleware","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcef9fc0f352b528e7c","block":"information-security-with-helmetjs","challengeType":2,"title":"Understand BCrypt Hashes","order":0,"superBlock":"information-security","dashedName":"understand-bcrypt-hashes","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/understand-bcrypt-hashes","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcff9fc0f352b528e7d","block":"information-security-with-helmetjs","challengeType":2,"title":"Hash and Compare Passwords Asynchronously","order":0,"superBlock":"information-security","dashedName":"hash-and-compare-passwords-asynchronously","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcff9fc0f352b528e7e","block":"information-security-with-helmetjs","challengeType":2,"title":"Hash and Compare Passwords Synchronously","order":0,"superBlock":"information-security","dashedName":"hash-and-compare-passwords-synchronously","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94dae","block":"python-for-penetration-testing","challengeType":11,"title":"Introduction and Setup","order":1,"superBlock":"information-security","dashedName":"introduction-and-setup","fields":{"slug":"/learn/information-security/python-for-penetration-testing/introduction-and-setup","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94daf","block":"python-for-penetration-testing","challengeType":11,"title":"Understanding Sockets and Creating a TCP Server","order":1,"superBlock":"information-security","dashedName":"understanding-sockets-and-creating-a-tcp-server","fields":{"slug":"/learn/information-security/python-for-penetration-testing/understanding-sockets-and-creating-a-tcp-server","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db0","block":"python-for-penetration-testing","challengeType":11,"title":"Creating a TCP Client","order":1,"superBlock":"information-security","dashedName":"creating-a-tcp-client","fields":{"slug":"/learn/information-security/python-for-penetration-testing/creating-a-tcp-client","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db1","block":"python-for-penetration-testing","challengeType":11,"title":"Developing an Nmap Scanner part 1","order":1,"superBlock":"information-security","dashedName":"developing-an-nmap-scanner-part-1","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-1","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db2","block":"python-for-penetration-testing","challengeType":11,"title":"Developing an Nmap Scanner part 2","order":1,"superBlock":"information-security","dashedName":"developing-an-nmap-scanner-part-2","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-2","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db3","block":"python-for-penetration-testing","challengeType":11,"title":"Developing a Banner Grabber","order":1,"superBlock":"information-security","dashedName":"developing-a-banner-grabber","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-a-banner-grabber","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db4","block":"python-for-penetration-testing","challengeType":11,"title":"Developing a Port Scanner","order":1,"superBlock":"information-security","dashedName":"developing-a-port-scanner","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-a-port-scanner","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c44","block":"information-security-projects","challengeType":4,"title":"Stock Price Checker","order":2,"superBlock":"information-security","dashedName":"stock-price-checker","fields":{"slug":"/learn/information-security/information-security-projects/stock-price-checker","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c45","block":"information-security-projects","challengeType":4,"title":"Anonymous Message Board","order":2,"superBlock":"information-security","dashedName":"anonymous-message-board","fields":{"slug":"/learn/information-security/information-security-projects/anonymous-message-board","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e46f979ac417301a38fb932","block":"information-security-projects","challengeType":10,"title":"Port Scanner","order":2,"superBlock":"information-security","dashedName":"port-scanner","fields":{"slug":"/learn/information-security/information-security-projects/port-scanner","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e46f983ac417301a38fb933","block":"information-security-projects","challengeType":10,"title":"SHA-1 Password Cracker","order":2,"superBlock":"information-security","dashedName":"sha-1-password-cracker","fields":{"slug":"/learn/information-security/information-security-projects/sha-1-password-cracker","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e601c775ac9d0ecd8b94aff","block":"information-security-projects","challengeType":4,"title":"Secure Real Time Multiplayer Game","order":2,"superBlock":"information-security","dashedName":"secure-real-time-multiplayer-game","fields":{"slug":"/learn/information-security/information-security-projects/secure-real-time-multiplayer-game","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d87","block":"tensorflow","challengeType":11,"title":"Introduction: Machine Learning Fundamentals","order":0,"superBlock":"machine-learning-with-python","dashedName":"introduction-machine-learning-fundamentals","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/introduction-machine-learning-fundamentals","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d88","block":"tensorflow","challengeType":11,"title":"Introduction to TensorFlow","order":0,"superBlock":"machine-learning-with-python","dashedName":"introduction-to-tensorflow","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/introduction-to-tensorflow","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d89","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8a","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Working with Data","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-working-with-data","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-working-with-data","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8b","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Training and Testing Data","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-training-and-testing-data","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-training-and-testing-data","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8c","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: The Training Process","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-the-training-process","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-the-training-process","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8d","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Classification","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-classification","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-classification","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8e","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Building the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-building-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-building-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8f","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Clustering","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-clustering","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-clustering","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d90","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Hidden Markov Models","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-hidden-markov-models","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-hidden-markov-models","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d91","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Using Probabilities to make Predictions","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-using-probabilities-to-make-predictions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-using-probabilities-to-make-predictions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d92","block":"tensorflow","challengeType":11,"title":"Neural Networks with TensorFlow","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-with-tensorflow","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-with-tensorflow","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d93","block":"tensorflow","challengeType":11,"title":"Neural Networks: Activation Functions","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-activation-functions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-activation-functions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d94","block":"tensorflow","challengeType":11,"title":"Neural Networks: Optimizers","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-optimizers","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-optimizers","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d95","block":"tensorflow","challengeType":11,"title":"Neural Networks: Creating a Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-creating-a-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-creating-a-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d96","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d97","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: The Convolutional Layer","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-the-convolutional-layer","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d98","block":"tensorflow","challengeType":11,"title":"Creating a Convolutional Neural Network","order":0,"superBlock":"machine-learning-with-python","dashedName":"creating-a-convolutional-neural-network","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/creating-a-convolutional-neural-network","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d99","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: Evaluating the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-evaluating-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-evaluating-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9a","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: Picking a Pretrained Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-picking-a-pretrained-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-picking-a-pretrained-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9b","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9c","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Part 2","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-part-2","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-part-2","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9d","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Recurring Neural Networks","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-recurring-neural-networks","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-recurring-neural-networks","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9e","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Sentiment Analysis","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-sentiment-analysis","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-sentiment-analysis","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9f","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Making Predictions","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-making-predictions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-making-predictions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da0","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Create a Play Generator","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-create-a-play-generator","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-create-a-play-generator","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da1","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Building the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-building-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-building-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da2","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Training the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-training-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-training-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da3","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da4","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning: Part 2","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning-part-2","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-part-2","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da5","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning: Example","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning-example","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-example","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da6","block":"tensorflow","challengeType":11,"title":"Conclusion","order":0,"superBlock":"machine-learning-with-python","dashedName":"conclusion","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/conclusion","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610ca","block":"how-neural-networks-work","challengeType":11,"title":"How Deep Neural Networks Work","order":1,"superBlock":"machine-learning-with-python","dashedName":"how-deep-neural-networks-work","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/how-deep-neural-networks-work","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cb","block":"how-neural-networks-work","challengeType":11,"title":"Recurrent Neural Networks RNN and Long Short Term Memory LSTM","order":1,"superBlock":"machine-learning-with-python","dashedName":"recurrent-neural-networks-rnn-and-long-short-term-memory-lstm","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cc","block":"how-neural-networks-work","challengeType":11,"title":"Deep Learning Demystified","order":1,"superBlock":"machine-learning-with-python","dashedName":"deep-learning-demystified","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/deep-learning-demystified","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cd","block":"how-neural-networks-work","challengeType":11,"title":"How Convolutional Neural Networks work","order":1,"superBlock":"machine-learning-with-python","dashedName":"how-convolutional-neural-networks-work","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/how-convolutional-neural-networks-work","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e46f8d6ac417301a38fb92d","block":"machine-learning-with-python-projects","challengeType":10,"title":"Rock Paper Scissors","order":2,"superBlock":"machine-learning-with-python","dashedName":"rock-paper-scissors","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8dcac417301a38fb92e","block":"machine-learning-with-python-projects","challengeType":10,"title":"Cat and Dog Image Classifier","order":2,"superBlock":"machine-learning-with-python","dashedName":"cat-and-dog-image-classifier","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8e3ac417301a38fb92f","block":"machine-learning-with-python-projects","challengeType":10,"title":"Book Recommendation Engine using KNN","order":2,"superBlock":"machine-learning-with-python","dashedName":"book-recommendation-engine-using-knn","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8edac417301a38fb930","block":"machine-learning-with-python-projects","challengeType":10,"title":"Linear Regression Health Costs Calculator","order":2,"superBlock":"machine-learning-with-python","dashedName":"linear-regression-health-costs-calculator","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8edac417301a38fb931","block":"machine-learning-with-python-projects","challengeType":10,"title":"Neural Network SMS Text Classifier","order":2,"superBlock":"machine-learning-with-python","dashedName":"neural-network-sms-text-classifier","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"a3f503de51cf954ede28891d","block":"algorithms","challengeType":5,"title":"Find the Symmetric Difference","order":0,"superBlock":"coding-interview-prep","dashedName":"find-the-symmetric-difference","fields":{"slug":"/learn/coding-interview-prep/algorithms/find-the-symmetric-difference","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"a56138aff60341a09ed6c480","block":"algorithms","challengeType":5,"title":"Inventory Update","order":0,"superBlock":"coding-interview-prep","dashedName":"inventory-update","fields":{"slug":"/learn/coding-interview-prep/algorithms/inventory-update","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"a7bf700cd123b9a54eef01d5","block":"algorithms","challengeType":5,"title":"No Repeats Please","order":0,"superBlock":"coding-interview-prep","dashedName":"no-repeats-please","fields":{"slug":"/learn/coding-interview-prep/algorithms/no-repeats-please","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"a3f503de51cfab748ff001aa","block":"algorithms","challengeType":5,"title":"Pairwise","order":0,"superBlock":"coding-interview-prep","dashedName":"pairwise","fields":{"slug":"/learn/coding-interview-prep/algorithms/pairwise","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"8d5123c8c441eddfaeb5bdef","block":"algorithms","challengeType":1,"title":"Implement Bubble Sort","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-bubble-sort","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-bubble-sort","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"587d8259367417b2b2512c85","block":"algorithms","challengeType":1,"title":"Implement Selection Sort","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-selection-sort","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-selection-sort","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"587d8259367417b2b2512c86","block":"algorithms","challengeType":1,"title":"Implement Insertion Sort","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-insertion-sort","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-insertion-sort","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"587d825a367417b2b2512c89","block":"algorithms","challengeType":1,"title":"Implement Quick Sort","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-quick-sort","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-quick-sort","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"587d825c367417b2b2512c8f","block":"algorithms","challengeType":1,"title":"Implement Merge Sort","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-merge-sort","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-merge-sort","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"61abc7ebf3029b56226de5b6","block":"algorithms","challengeType":1,"title":"Implement Binary Search","order":0,"superBlock":"coding-interview-prep","dashedName":"implement-binary-search","fields":{"slug":"/learn/coding-interview-prep/algorithms/implement-binary-search","blockName":"Algorithms"}}}},{"node":{"challenge":{"id":"587d8253367417b2b2512c6a","block":"data-structures","challengeType":1,"title":"Typed Arrays","order":1,"superBlock":"coding-interview-prep","dashedName":"typed-arrays","fields":{"slug":"/learn/coding-interview-prep/data-structures/typed-arrays","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8250367417b2b2512c5e","block":"data-structures","challengeType":1,"title":"Learn how a Stack Works","order":1,"superBlock":"coding-interview-prep","dashedName":"learn-how-a-stack-works","fields":{"slug":"/learn/coding-interview-prep/data-structures/learn-how-a-stack-works","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8250367417b2b2512c5f","block":"data-structures","challengeType":1,"title":"Create a Stack Class","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-stack-class","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-stack-class","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8250367417b2b2512c60","block":"data-structures","challengeType":1,"title":"Create a Queue Class","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-queue-class","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-queue-class","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8255367417b2b2512c74","block":"data-structures","challengeType":1,"title":"Create a Priority Queue Class","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-priority-queue-class","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-priority-queue-class","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8255367417b2b2512c75","block":"data-structures","challengeType":1,"title":"Create a Circular Queue","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-circular-queue","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-circular-queue","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"8d1323c8c441eddfaeb5bdef","block":"data-structures","challengeType":1,"title":"Create a Set Class","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-set-class","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-set-class","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8253367417b2b2512c6c","block":"data-structures","challengeType":1,"title":"Perform a Union on Two Sets","order":1,"superBlock":"coding-interview-prep","dashedName":"perform-a-union-on-two-sets","fields":{"slug":"/learn/coding-interview-prep/data-structures/perform-a-union-on-two-sets","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8253367417b2b2512c6d","block":"data-structures","challengeType":1,"title":"Perform an Intersection on Two Sets of Data","order":1,"superBlock":"coding-interview-prep","dashedName":"perform-an-intersection-on-two-sets-of-data","fields":{"slug":"/learn/coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8254367417b2b2512c6e","block":"data-structures","challengeType":1,"title":"Perform a Difference on Two Sets of Data","order":1,"superBlock":"coding-interview-prep","dashedName":"perform-a-difference-on-two-sets-of-data","fields":{"slug":"/learn/coding-interview-prep/data-structures/perform-a-difference-on-two-sets-of-data","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8254367417b2b2512c6f","block":"data-structures","challengeType":1,"title":"Perform a Subset Check on Two Sets of Data","order":1,"superBlock":"coding-interview-prep","dashedName":"perform-a-subset-check-on-two-sets-of-data","fields":{"slug":"/learn/coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8254367417b2b2512c70","block":"data-structures","challengeType":1,"title":"Create and Add to Sets in ES6","order":1,"superBlock":"coding-interview-prep","dashedName":"create-and-add-to-sets-in-es6","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-and-add-to-sets-in-es6","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8254367417b2b2512c71","block":"data-structures","challengeType":1,"title":"Remove items from a set in ES6","order":1,"superBlock":"coding-interview-prep","dashedName":"remove-items-from-a-set-in-es6","fields":{"slug":"/learn/coding-interview-prep/data-structures/remove-items-from-a-set-in-es6","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8255367417b2b2512c72","block":"data-structures","challengeType":1,"title":"Use .has and .size on an ES6 Set","order":1,"superBlock":"coding-interview-prep","dashedName":"use--has-and--size-on-an-es6-set","fields":{"slug":"/learn/coding-interview-prep/data-structures/use--has-and--size-on-an-es6-set","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8255367417b2b2512c73","block":"data-structures","challengeType":1,"title":"Use Spread and Notes for ES5 Set() Integration","order":1,"superBlock":"coding-interview-prep","dashedName":"use-spread-and-notes-for-es5-set-integration","fields":{"slug":"/learn/coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"8d5823c8c441eddfaeb5bdef","block":"data-structures","challengeType":1,"title":"Create a Map Data Structure","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-map-data-structure","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-map-data-structure","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825b367417b2b2512c8d","block":"data-structures","challengeType":1,"title":"Create an ES6 JavaScript Map","order":1,"superBlock":"coding-interview-prep","dashedName":"create-an-es6-javascript-map","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-an-es6-javascript-map","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825b367417b2b2512c8e","block":"data-structures","challengeType":1,"title":"Create a Hash Table","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-hash-table","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-hash-table","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8251367417b2b2512c61","block":"data-structures","challengeType":1,"title":"Work with Nodes in a Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"work-with-nodes-in-a-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/work-with-nodes-in-a-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8251367417b2b2512c62","block":"data-structures","challengeType":1,"title":"Create a Linked List Class","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-linked-list-class","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-linked-list-class","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8251367417b2b2512c63","block":"data-structures","challengeType":1,"title":"Remove Elements from a Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"remove-elements-from-a-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8251367417b2b2512c64","block":"data-structures","challengeType":1,"title":"Search within a Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"search-within-a-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/search-within-a-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8251367417b2b2512c65","block":"data-structures","challengeType":1,"title":"Remove Elements from a Linked List by Index","order":1,"superBlock":"coding-interview-prep","dashedName":"remove-elements-from-a-linked-list-by-index","fields":{"slug":"/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list-by-index","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8252367417b2b2512c67","block":"data-structures","challengeType":1,"title":"Add Elements at a Specific Index in a Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"add-elements-at-a-specific-index-in-a-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/add-elements-at-a-specific-index-in-a-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825a367417b2b2512c87","block":"data-structures","challengeType":1,"title":"Create a Doubly Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-doubly-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-doubly-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825a367417b2b2512c88","block":"data-structures","challengeType":1,"title":"Reverse a Doubly Linked List","order":1,"superBlock":"coding-interview-prep","dashedName":"reverse-a-doubly-linked-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/reverse-a-doubly-linked-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8257367417b2b2512c7b","block":"data-structures","challengeType":1,"title":"Add a New Element to a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"add-a-new-element-to-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8256367417b2b2512c7a","block":"data-structures","challengeType":1,"title":"Find the Minimum and Maximum Value in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"find-the-minimum-and-maximum-value-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8257367417b2b2512c7c","block":"data-structures","challengeType":1,"title":"Check if an Element is Present in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"check-if-an-element-is-present-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"5cc0c1b32479e176caf3b422","block":"data-structures","challengeType":1,"title":"Check if Tree is Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"check-if-tree-is-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/check-if-tree-is-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8257367417b2b2512c7d","block":"data-structures","challengeType":1,"title":"Find the Minimum and Maximum Height of a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"find-the-minimum-and-maximum-height-of-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8257367417b2b2512c7e","block":"data-structures","challengeType":1,"title":"Use Depth First Search in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"use-depth-first-search-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8258367417b2b2512c7f","block":"data-structures","challengeType":1,"title":"Use Breadth First Search in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"use-breadth-first-search-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8258367417b2b2512c80","block":"data-structures","challengeType":1,"title":"Delete a Leaf Node in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"delete-a-leaf-node-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8258367417b2b2512c81","block":"data-structures","challengeType":1,"title":"Delete a Node with One Child in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"delete-a-node-with-one-child-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8258367417b2b2512c82","block":"data-structures","challengeType":1,"title":"Delete a Node with Two Children in a Binary Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"delete-a-node-with-two-children-in-a-binary-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8259367417b2b2512c83","block":"data-structures","challengeType":1,"title":"Invert a Binary Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"invert-a-binary-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/invert-a-binary-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8259367417b2b2512c84","block":"data-structures","challengeType":1,"title":"Create a Trie Search Tree","order":1,"superBlock":"coding-interview-prep","dashedName":"create-a-trie-search-tree","fields":{"slug":"/learn/coding-interview-prep/data-structures/create-a-trie-search-tree","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825a367417b2b2512c8a","block":"data-structures","challengeType":1,"title":"Insert an Element into a Max Heap","order":1,"superBlock":"coding-interview-prep","dashedName":"insert-an-element-into-a-max-heap","fields":{"slug":"/learn/coding-interview-prep/data-structures/insert-an-element-into-a-max-heap","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825b367417b2b2512c8b","block":"data-structures","challengeType":1,"title":"Remove an Element from a Max Heap","order":1,"superBlock":"coding-interview-prep","dashedName":"remove-an-element-from-a-max-heap","fields":{"slug":"/learn/coding-interview-prep/data-structures/remove-an-element-from-a-max-heap","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825b367417b2b2512c8c","block":"data-structures","challengeType":1,"title":"Implement Heap Sort with a Min Heap","order":1,"superBlock":"coding-interview-prep","dashedName":"implement-heap-sort-with-a-min-heap","fields":{"slug":"/learn/coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8256367417b2b2512c77","block":"data-structures","challengeType":1,"title":"Adjacency List","order":1,"superBlock":"coding-interview-prep","dashedName":"adjacency-list","fields":{"slug":"/learn/coding-interview-prep/data-structures/adjacency-list","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8256367417b2b2512c78","block":"data-structures","challengeType":1,"title":"Adjacency Matrix","order":1,"superBlock":"coding-interview-prep","dashedName":"adjacency-matrix","fields":{"slug":"/learn/coding-interview-prep/data-structures/adjacency-matrix","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d8256367417b2b2512c79","block":"data-structures","challengeType":1,"title":"Incidence Matrix","order":1,"superBlock":"coding-interview-prep","dashedName":"incidence-matrix","fields":{"slug":"/learn/coding-interview-prep/data-structures/incidence-matrix","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825c367417b2b2512c90","block":"data-structures","challengeType":1,"title":"Breadth-First Search","order":1,"superBlock":"coding-interview-prep","dashedName":"breadth-first-search","fields":{"slug":"/learn/coding-interview-prep/data-structures/breadth-first-search","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"587d825d367417b2b2512c96","block":"data-structures","challengeType":1,"title":"Depth-First Search","order":1,"superBlock":"coding-interview-prep","dashedName":"depth-first-search","fields":{"slug":"/learn/coding-interview-prep/data-structures/depth-first-search","blockName":"Data Structures"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd10","block":"take-home-projects","challengeType":3,"title":"Show the Local Weather","order":2,"superBlock":"coding-interview-prep","dashedName":"show-the-local-weather","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/show-the-local-weather","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd19","block":"take-home-projects","challengeType":3,"title":"Build a Wikipedia Viewer","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-wikipedia-viewer","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-wikipedia-viewer","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd1f","block":"take-home-projects","challengeType":3,"title":"Use the Twitch JSON API","order":2,"superBlock":"coding-interview-prep","dashedName":"use-the-twitch-json-api","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/use-the-twitch-json-api","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bdee","block":"take-home-projects","challengeType":4,"title":"Build an Image Search Abstraction Layer","order":2,"superBlock":"coding-interview-prep","dashedName":"build-an-image-search-abstraction-layer","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-an-image-search-abstraction-layer","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eedfaeb5bd1c","block":"take-home-projects","challengeType":3,"title":"Build a Tic Tac Toe Game","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-tic-tac-toe-game","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-tic-tac-toe-game","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd1c","block":"take-home-projects","challengeType":3,"title":"Build a Simon Game","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-simon-game","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-simon-game","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7156d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Build a freeCodeCamp Forum Homepage","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-freecodecamp-forum-homepage","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-freecodecamp-forum-homepage","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7155d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Build a Recipe Box","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-recipe-box","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-recipe-box","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7154d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Build the Game of Life","order":2,"superBlock":"coding-interview-prep","dashedName":"build-the-game-of-life","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-the-game-of-life","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7153d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Build a Roguelike Dungeon Crawler Game","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-roguelike-dungeon-crawler-game","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-roguelike-dungeon-crawler-game","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7150d8c442eddfafb5bd1c","block":"take-home-projects","challengeType":4,"title":"P2P Video Chat Application","order":2,"superBlock":"coding-interview-prep","dashedName":"p2p-video-chat-application","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/p2p-video-chat-application","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7198d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Show National Contiguity with a Force Directed Graph","order":2,"superBlock":"coding-interview-prep","dashedName":"show-national-contiguity-with-a-force-directed-graph","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/show-national-contiguity-with-a-force-directed-graph","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7108d8c242eddfaeb5bd13","block":"take-home-projects","challengeType":3,"title":"Map Data Across the Globe","order":2,"superBlock":"coding-interview-prep","dashedName":"map-data-across-the-globe","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/map-data-across-the-globe","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443eddfaeb5bd0f","block":"take-home-projects","challengeType":4,"title":"Manage a Book Trading Club","order":2,"superBlock":"coding-interview-prep","dashedName":"manage-a-book-trading-club","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/manage-a-book-trading-club","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443eddfaeb5bdee","block":"take-home-projects","challengeType":4,"title":"Build a Pinterest Clone","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-pinterest-clone","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-pinterest-clone","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443eddfaeb5bdff","block":"take-home-projects","challengeType":4,"title":"Build a Nightlife Coordination App","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-nightlife-coordination-app","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-nightlife-coordination-app","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443eddfaeb5bd0e","block":"take-home-projects","challengeType":4,"title":"Chart the Stock Market","order":2,"superBlock":"coding-interview-prep","dashedName":"chart-the-stock-market","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/chart-the-stock-market","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443eddfaeb5bdef","block":"take-home-projects","challengeType":4,"title":"Build a Voting App","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-voting-app","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-voting-app","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"5a4b7fcdb66f799f199e11db","block":"take-home-projects","challengeType":3,"title":"Build a Pong Game","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-pong-game","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-pong-game","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"5a5d02bd919fcf9ca8cf46cb","block":"take-home-projects","challengeType":3,"title":"Build a Light-Bright App","order":2,"superBlock":"coding-interview-prep","dashedName":"build-a-light-bright-app","fields":{"slug":"/learn/coding-interview-prep/take-home-projects/build-a-light-bright-app","blockName":"Take Home Projects"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339acb","block":"rosetta-code","challengeType":5,"title":"100 doors","order":3,"superBlock":"coding-interview-prep","dashedName":"100-doors","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/100-doors","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5951e88f64ebf159166a1176","block":"rosetta-code","challengeType":5,"title":"24 game","order":3,"superBlock":"coding-interview-prep","dashedName":"24-game","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/24-game","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5949b579404977fbaefcd736","block":"rosetta-code","challengeType":5,"title":"9 billion names of God the integer","order":3,"superBlock":"coding-interview-prep","dashedName":"9-billion-names-of-god-the-integer","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/9-billion-names-of-god-the-integer","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339acc","block":"rosetta-code","challengeType":5,"title":"ABC Problem","order":3,"superBlock":"coding-interview-prep","dashedName":"abc-problem","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/abc-problem","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339acd","block":"rosetta-code","challengeType":5,"title":"Abundant, deficient and perfect number classifications","order":3,"superBlock":"coding-interview-prep","dashedName":"abundant-deficient-and-perfect-number-classifications","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/abundant-deficient-and-perfect-number-classifications","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ace","block":"rosetta-code","challengeType":5,"title":"Accumulator factory","order":3,"superBlock":"coding-interview-prep","dashedName":"accumulator-factory","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/accumulator-factory","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339acf","block":"rosetta-code","challengeType":5,"title":"Ackermann function","order":3,"superBlock":"coding-interview-prep","dashedName":"ackermann-function","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/ackermann-function","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad0","block":"rosetta-code","challengeType":5,"title":"Align columns","order":3,"superBlock":"coding-interview-prep","dashedName":"align-columns","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/align-columns","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5949b579404977fbaefcd737","block":"rosetta-code","challengeType":5,"title":"Amicable pairs","order":3,"superBlock":"coding-interview-prep","dashedName":"amicable-pairs","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/amicable-pairs","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594d8d0ab97724821379b1e6","block":"rosetta-code","challengeType":5,"title":"Averages/Mode","order":3,"superBlock":"coding-interview-prep","dashedName":"averagesmode","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/averagesmode","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594d966a1467eb84194f0086","block":"rosetta-code","challengeType":5,"title":"Averages/Pythagorean means","order":3,"superBlock":"coding-interview-prep","dashedName":"averagespythagorean-means","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/averagespythagorean-means","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594da033de4190850b893874","block":"rosetta-code","challengeType":5,"title":"Averages/Root mean square","order":3,"superBlock":"coding-interview-prep","dashedName":"averagesroot-mean-square","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/averagesroot-mean-square","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594db4d0dedb4c06a2a4cefd","block":"rosetta-code","challengeType":5,"title":"Babbage problem","order":3,"superBlock":"coding-interview-prep","dashedName":"babbage-problem","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/babbage-problem","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594dc6c729e5700999302b45","block":"rosetta-code","challengeType":5,"title":"Balanced brackets","order":3,"superBlock":"coding-interview-prep","dashedName":"balanced-brackets","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/balanced-brackets","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5951815dd895584b06884620","block":"rosetta-code","challengeType":5,"title":"Circles of given radius through two points","order":3,"superBlock":"coding-interview-prep","dashedName":"circles-of-given-radius-through-two-points","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/circles-of-given-radius-through-two-points","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5951a53863c8a34f02bf1bdc","block":"rosetta-code","challengeType":5,"title":"Closest-pair problem","order":3,"superBlock":"coding-interview-prep","dashedName":"closest-pair-problem","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/closest-pair-problem","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5958469238c0d8d2632f46db","block":"rosetta-code","challengeType":5,"title":"Combinations","order":3,"superBlock":"coding-interview-prep","dashedName":"combinations","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/combinations","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"596e414344c3b2872167f0fe","block":"rosetta-code","challengeType":5,"title":"Comma quibbling","order":3,"superBlock":"coding-interview-prep","dashedName":"comma-quibbling","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/comma-quibbling","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"596e457071c35c882915b3e4","block":"rosetta-code","challengeType":5,"title":"Compare a list of strings","order":3,"superBlock":"coding-interview-prep","dashedName":"compare-a-list-of-strings","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/compare-a-list-of-strings","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"596fd036dc1ab896c5db98b1","block":"rosetta-code","challengeType":5,"title":"Convert seconds to compound duration","order":3,"superBlock":"coding-interview-prep","dashedName":"convert-seconds-to-compound-duration","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"596fda99c69f779975a1b67d","block":"rosetta-code","challengeType":5,"title":"Count occurrences of a substring","order":3,"superBlock":"coding-interview-prep","dashedName":"count-occurrences-of-a-substring","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/count-occurrences-of-a-substring","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59713bd26bdeb8a594fb9413","block":"rosetta-code","challengeType":5,"title":"Count the coins","order":3,"superBlock":"coding-interview-prep","dashedName":"count-the-coins","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/count-the-coins","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59713da0a428c1a62d7db430","block":"rosetta-code","challengeType":5,"title":"Cramer's rule","order":3,"superBlock":"coding-interview-prep","dashedName":"cramers-rule","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/cramers-rule","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e03","block":"rosetta-code","challengeType":5,"title":"Cumulative standard deviation","order":3,"superBlock":"coding-interview-prep","dashedName":"cumulative-standard-deviation","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/cumulative-standard-deviation","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e05","block":"rosetta-code","challengeType":5,"title":"CUSIP","order":3,"superBlock":"coding-interview-prep","dashedName":"cusip","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/cusip","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e06","block":"rosetta-code","challengeType":5,"title":"Cut a rectangle","order":3,"superBlock":"coding-interview-prep","dashedName":"cut-a-rectangle","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/cut-a-rectangle","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59669d08d75b60482359409f","block":"rosetta-code","challengeType":5,"title":"Date format","order":3,"superBlock":"coding-interview-prep","dashedName":"date-format","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/date-format","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5966c21cf732a95f1b67dd28","block":"rosetta-code","challengeType":5,"title":"Date manipulation","order":3,"superBlock":"coding-interview-prep","dashedName":"date-manipulation","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/date-manipulation","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5966f99c45e8976909a85575","block":"rosetta-code","challengeType":5,"title":"Day of the week","order":3,"superBlock":"coding-interview-prep","dashedName":"day-of-the-week","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/day-of-the-week","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59694356a6e7011f7f1c5f4e","block":"rosetta-code","challengeType":5,"title":"Deal cards for FreeCell","order":3,"superBlock":"coding-interview-prep","dashedName":"deal-cards-for-freecell","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/deal-cards-for-freecell","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"596a8888ab7c01048de257d5","block":"rosetta-code","challengeType":5,"title":"Deepcopy","order":3,"superBlock":"coding-interview-prep","dashedName":"deepcopy","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/deepcopy","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"597089c87eec450c68aa1643","block":"rosetta-code","challengeType":5,"title":"Define a primitive data type","order":3,"superBlock":"coding-interview-prep","dashedName":"define-a-primitive-data-type","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/define-a-primitive-data-type","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59f40b17e79dbf1ab720ed7a","block":"rosetta-code","challengeType":5,"title":"Department Numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"department-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/department-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59f4eafba0343628bb682785","block":"rosetta-code","challengeType":5,"title":"Discordian date","order":3,"superBlock":"coding-interview-prep","dashedName":"discordian-date","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/discordian-date","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e1e","block":"rosetta-code","challengeType":5,"title":"Dot product","order":3,"superBlock":"coding-interview-prep","dashedName":"dot-product","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/dot-product","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"599c333915e0ea32d04d4bec","block":"rosetta-code","challengeType":5,"title":"Element-wise operations","order":3,"superBlock":"coding-interview-prep","dashedName":"element-wise-operations","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/element-wise-operations","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"599d0ba974141b0f508b37d5","block":"rosetta-code","challengeType":5,"title":"Emirp primes","order":3,"superBlock":"coding-interview-prep","dashedName":"emirp-primes","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/emirp-primes","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"599d15309e88c813a40baf58","block":"rosetta-code","challengeType":5,"title":"Entropy","order":3,"superBlock":"coding-interview-prep","dashedName":"entropy","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/entropy","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5987fd532b954e0f21b5d3f6","block":"rosetta-code","challengeType":5,"title":"Equilibrium index","order":3,"superBlock":"coding-interview-prep","dashedName":"equilibrium-index","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/equilibrium-index","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"599d1566a02b571412643b84","block":"rosetta-code","challengeType":5,"title":"Ethiopian multiplication","order":3,"superBlock":"coding-interview-prep","dashedName":"ethiopian-multiplication","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/ethiopian-multiplication","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59880443fb36441083c6c20e","block":"rosetta-code","challengeType":5,"title":"Euler method","order":3,"superBlock":"coding-interview-prep","dashedName":"euler-method","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/euler-method","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"598de241872ef8353c58a7a2","block":"rosetta-code","challengeType":5,"title":"Evaluate binomial coefficients","order":3,"superBlock":"coding-interview-prep","dashedName":"evaluate-binomial-coefficients","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/evaluate-binomial-coefficients","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59e09e6d412c5939baa02d16","block":"rosetta-code","challengeType":5,"title":"Execute a Markov algorithm","order":3,"superBlock":"coding-interview-prep","dashedName":"execute-a-markov-algorithm","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/execute-a-markov-algorithm","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59e0a8df964e4540d5abe599","block":"rosetta-code","challengeType":5,"title":"Execute Brain****","order":3,"superBlock":"coding-interview-prep","dashedName":"execute-brain","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/execute-brain","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"598ee8b91b410510ae82efef","block":"rosetta-code","challengeType":5,"title":"Extensible prime generator","order":3,"superBlock":"coding-interview-prep","dashedName":"extensible-prime-generator","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/extensible-prime-generator","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"597b2b2a2702b44414742771","block":"rosetta-code","challengeType":5,"title":"Factorial","order":3,"superBlock":"coding-interview-prep","dashedName":"factorial","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/factorial","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"598eea87e5cf4b116c3ff81a","block":"rosetta-code","challengeType":5,"title":"Factors of a Mersenne number","order":3,"superBlock":"coding-interview-prep","dashedName":"factors-of-a-mersenne-number","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/factors-of-a-mersenne-number","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"597f1e7fbc206f0e9ba95dc4","block":"rosetta-code","challengeType":5,"title":"Factors of an integer","order":3,"superBlock":"coding-interview-prep","dashedName":"factors-of-an-integer","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/factors-of-an-integer","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59c3ec9f15068017c96eb8a3","block":"rosetta-code","challengeType":5,"title":"Farey sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"farey-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/farey-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"598eef80ba501f1268170e1e","block":"rosetta-code","challengeType":5,"title":"Fibonacci n-step number sequences","order":3,"superBlock":"coding-interview-prep","dashedName":"fibonacci-n-step-number-sequences","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/fibonacci-n-step-number-sequences","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"597f24c1dda4e70f53c79c81","block":"rosetta-code","challengeType":5,"title":"Fibonacci sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"fibonacci-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/fibonacci-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5992e222d397f00d21122931","block":"rosetta-code","challengeType":5,"title":"Fibonacci word","order":3,"superBlock":"coding-interview-prep","dashedName":"fibonacci-word","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/fibonacci-word","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e9ddb06ec35240f39657419","block":"rosetta-code","challengeType":5,"title":"FizzBuzz","order":3,"superBlock":"coding-interview-prep","dashedName":"fizzbuzz","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/fizzbuzz","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a7dad05be01840e1778a0d1","block":"rosetta-code","challengeType":5,"title":"Fractran","order":3,"superBlock":"coding-interview-prep","dashedName":"fractran","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/fractran","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e76","block":"rosetta-code","challengeType":5,"title":"Gamma function","order":3,"superBlock":"coding-interview-prep","dashedName":"gamma-function","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/gamma-function","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e77","block":"rosetta-code","challengeType":5,"title":"Gaussian elimination","order":3,"superBlock":"coding-interview-prep","dashedName":"gaussian-elimination","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/gaussian-elimination","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e78","block":"rosetta-code","challengeType":5,"title":"General FizzBuzz","order":3,"superBlock":"coding-interview-prep","dashedName":"general-fizzbuzz","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/general-fizzbuzz","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e7a","block":"rosetta-code","challengeType":5,"title":"Generate lower case ASCII alphabet","order":3,"superBlock":"coding-interview-prep","dashedName":"generate-lower-case-ascii-alphabet","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/generate-lower-case-ascii-alphabet","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e7b","block":"rosetta-code","challengeType":5,"title":"Generator/Exponential","order":3,"superBlock":"coding-interview-prep","dashedName":"generatorexponential","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/generatorexponential","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e80","block":"rosetta-code","challengeType":5,"title":"Gray code","order":3,"superBlock":"coding-interview-prep","dashedName":"gray-code","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/gray-code","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e82","block":"rosetta-code","challengeType":5,"title":"Greatest common divisor","order":3,"superBlock":"coding-interview-prep","dashedName":"greatest-common-divisor","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/greatest-common-divisor","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7e84","block":"rosetta-code","challengeType":5,"title":"Greatest subsequential sum","order":3,"superBlock":"coding-interview-prep","dashedName":"greatest-subsequential-sum","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/greatest-subsequential-sum","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"595608ff8bcd7a50bd490181","block":"rosetta-code","challengeType":5,"title":"Hailstone sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"hailstone-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/hailstone-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad1","block":"rosetta-code","challengeType":5,"title":"Happy numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"happy-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/happy-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"595668ca4cfe1af2fb9818d4","block":"rosetta-code","challengeType":5,"title":"Harshad or Niven series","order":3,"superBlock":"coding-interview-prep","dashedName":"harshad-or-niven-series","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/harshad-or-niven-series","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"595671d4d2cdc305f0d5b36f","block":"rosetta-code","challengeType":5,"title":"Hash from two arrays","order":3,"superBlock":"coding-interview-prep","dashedName":"hash-from-two-arrays","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/hash-from-two-arrays","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5956795bc9e2c415eb244de1","block":"rosetta-code","challengeType":5,"title":"Hash join","order":3,"superBlock":"coding-interview-prep","dashedName":"hash-join","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/hash-join","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"595b98f8b5a2245e243aa831","block":"rosetta-code","challengeType":5,"title":"Heronian triangles","order":3,"superBlock":"coding-interview-prep","dashedName":"heronian-triangles","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/heronian-triangles","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59622f89e4e137560018a40e","block":"rosetta-code","challengeType":5,"title":"Hofstadter Figure-Figure sequences","order":3,"superBlock":"coding-interview-prep","dashedName":"hofstadter-figure-figure-sequences","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/hofstadter-figure-figure-sequences","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59637c4d89f6786115efd814","block":"rosetta-code","challengeType":5,"title":"Hofstadter Q sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"hofstadter-q-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/hofstadter-q-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7eb0","block":"rosetta-code","challengeType":5,"title":"I before E except after C","order":3,"superBlock":"coding-interview-prep","dashedName":"i-before-e-except-after-c","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/i-before-e-except-after-c","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7eaf","block":"rosetta-code","challengeType":5,"title":"IBAN","order":3,"superBlock":"coding-interview-prep","dashedName":"iban","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/iban","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7eb1","block":"rosetta-code","challengeType":5,"title":"Identity matrix","order":3,"superBlock":"coding-interview-prep","dashedName":"identity-matrix","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/identity-matrix","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ec1","block":"rosetta-code","challengeType":5,"title":"Iterated digits squaring","order":3,"superBlock":"coding-interview-prep","dashedName":"iterated-digits-squaring","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/iterated-digits-squaring","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ec2","block":"rosetta-code","challengeType":5,"title":"Jaro distance","order":3,"superBlock":"coding-interview-prep","dashedName":"jaro-distance","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/jaro-distance","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ec4","block":"rosetta-code","challengeType":5,"title":"JortSort","order":3,"superBlock":"coding-interview-prep","dashedName":"jortsort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/jortsort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ec5","block":"rosetta-code","challengeType":5,"title":"Josephus problem","order":3,"superBlock":"coding-interview-prep","dashedName":"josephus-problem","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/josephus-problem","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ecb","block":"rosetta-code","challengeType":5,"title":"K-d tree","order":3,"superBlock":"coding-interview-prep","dashedName":"k-d-tree","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/k-d-tree","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7eca","block":"rosetta-code","challengeType":5,"title":"Kaprekar numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"kaprekar-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/kaprekar-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ed1","block":"rosetta-code","challengeType":5,"title":"Knapsack problem/0-1","order":3,"superBlock":"coding-interview-prep","dashedName":"knapsack-problem0-1","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/knapsack-problem0-1","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ed2","block":"rosetta-code","challengeType":5,"title":"Knapsack problem/Bounded","order":3,"superBlock":"coding-interview-prep","dashedName":"knapsack-problembounded","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/knapsack-problembounded","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ed3","block":"rosetta-code","challengeType":5,"title":"Knapsack problem/Continuous","order":3,"superBlock":"coding-interview-prep","dashedName":"knapsack-problemcontinuous","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/knapsack-problemcontinuous","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ed4","block":"rosetta-code","challengeType":5,"title":"Knapsack problem/Unbounded","order":3,"superBlock":"coding-interview-prep","dashedName":"knapsack-problemunbounded","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/knapsack-problemunbounded","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ed5","block":"rosetta-code","challengeType":5,"title":"Knight's tour","order":3,"superBlock":"coding-interview-prep","dashedName":"knights-tour","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/knights-tour","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7edb","block":"rosetta-code","challengeType":5,"title":"Largest int from concatenated ints","order":3,"superBlock":"coding-interview-prep","dashedName":"largest-int-from-concatenated-ints","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/largest-int-from-concatenated-ints","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e4ce2b6ac708cc68c1df25e","block":"rosetta-code","challengeType":5,"title":"Last letter-first letter","order":3,"superBlock":"coding-interview-prep","dashedName":"last-letter-first-letter","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/last-letter-first-letter","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7edc","block":"rosetta-code","challengeType":5,"title":"Last Friday of each month","order":3,"superBlock":"coding-interview-prep","dashedName":"last-friday-of-each-month","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/last-friday-of-each-month","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ede","block":"rosetta-code","challengeType":5,"title":"Leap year","order":3,"superBlock":"coding-interview-prep","dashedName":"leap-year","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/leap-year","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7edf","block":"rosetta-code","challengeType":5,"title":"Least common multiple","order":3,"superBlock":"coding-interview-prep","dashedName":"least-common-multiple","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/least-common-multiple","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ee0","block":"rosetta-code","challengeType":5,"title":"Left factorials","order":3,"superBlock":"coding-interview-prep","dashedName":"left-factorials","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/left-factorials","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e4ce2bbac708cc68c1df25f","block":"rosetta-code","challengeType":5,"title":"Letter frequency","order":3,"superBlock":"coding-interview-prep","dashedName":"letter-frequency","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/letter-frequency","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e4ce2eaac708cc68c1df260","block":"rosetta-code","challengeType":5,"title":"Levenshtein distance","order":3,"superBlock":"coding-interview-prep","dashedName":"levenshtein-distance","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/levenshtein-distance","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e4ce2f5ac708cc68c1df261","block":"rosetta-code","challengeType":5,"title":"Linear congruential generator","order":3,"superBlock":"coding-interview-prep","dashedName":"linear-congruential-generator","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/linear-congruential-generator","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e4ce2a1ac708cc68c1df25d","block":"rosetta-code","challengeType":5,"title":"Long multiplication","order":3,"superBlock":"coding-interview-prep","dashedName":"long-multiplication","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/long-multiplication","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dd1278e6ca105cde40ea9","block":"rosetta-code","challengeType":5,"title":"Longest common subsequence","order":3,"superBlock":"coding-interview-prep","dashedName":"longest-common-subsequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/longest-common-subsequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dd139859c290b6ab80292","block":"rosetta-code","challengeType":5,"title":"Longest increasing subsequence","order":3,"superBlock":"coding-interview-prep","dashedName":"longest-increasing-subsequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/longest-increasing-subsequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dd14192286d95fc43046e","block":"rosetta-code","challengeType":5,"title":"Longest string challenge","order":3,"superBlock":"coding-interview-prep","dashedName":"longest-string-challenge","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/longest-string-challenge","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dd14797f5ce267c2f19d0","block":"rosetta-code","challengeType":5,"title":"Look-and-say sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"look-and-say-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/look-and-say-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dd15004c88cf00d2a78b3","block":"rosetta-code","challengeType":5,"title":"Loop over multiple arrays simultaneously","order":3,"superBlock":"coding-interview-prep","dashedName":"loop-over-multiple-arrays-simultaneously","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/loop-over-multiple-arrays-simultaneously","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6decd8ec8d7db960950d1c","block":"rosetta-code","challengeType":5,"title":"LU decomposition","order":3,"superBlock":"coding-interview-prep","dashedName":"lu-decomposition","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/lu-decomposition","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e6dee7749a0b85a3f1fc7d5","block":"rosetta-code","challengeType":5,"title":"Lucas-Lehmer test","order":3,"superBlock":"coding-interview-prep","dashedName":"lucas-lehmer-test","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/lucas-lehmer-test","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5ea281203167d2b0bdefca00","block":"rosetta-code","challengeType":5,"title":"Ludic numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"ludic-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/ludic-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5ea28156e79528a9ab248f27","block":"rosetta-code","challengeType":5,"title":"Luhn test of credit card numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"luhn-test-of-credit-card-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/luhn-test-of-credit-card-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5ea2815a8640bcc6cb7dab3c","block":"rosetta-code","challengeType":5,"title":"Lychrel numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"lychrel-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/lychrel-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5ea2815e364d9a2222ea55f8","block":"rosetta-code","challengeType":5,"title":"LZW compression","order":3,"superBlock":"coding-interview-prep","dashedName":"lzw-compression","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/lzw-compression","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59667989bf71cf555dd5d2ff","block":"rosetta-code","challengeType":5,"title":"S-Expressions","order":3,"superBlock":"coding-interview-prep","dashedName":"s-expressions","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/s-expressions","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59da22823d04c95919d46269","block":"rosetta-code","challengeType":5,"title":"Sailors, coconuts and a monkey problem","order":3,"superBlock":"coding-interview-prep","dashedName":"sailors-coconuts-and-a-monkey-problem","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sailors-coconuts-and-a-monkey-problem","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e497b8d6d7f63c5517ea","block":"rosetta-code","challengeType":5,"title":"Search a list of records","order":3,"superBlock":"coding-interview-prep","dashedName":"search-a-list-of-records","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/search-a-list-of-records","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"59d9c6bc214c613ba73ff012","block":"rosetta-code","challengeType":5,"title":"SEDOLs","order":3,"superBlock":"coding-interview-prep","dashedName":"sedols","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sedols","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eaf48389ee512d4d103684b","block":"rosetta-code","challengeType":5,"title":"Self Describing Numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"self-describing-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/self-describing-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4a21f462f409d656c73","block":"rosetta-code","challengeType":5,"title":"Self-referential sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"self-referential-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/self-referential-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4aa847216613aa81983","block":"rosetta-code","challengeType":5,"title":"Semiprime","order":3,"superBlock":"coding-interview-prep","dashedName":"semiprime","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/semiprime","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4af7d0e7b760b46cedc","block":"rosetta-code","challengeType":5,"title":"Set consolidation","order":3,"superBlock":"coding-interview-prep","dashedName":"set-consolidation","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/set-consolidation","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4b20aa93c437f9e9717","block":"rosetta-code","challengeType":5,"title":"Set of real numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"set-of-real-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/set-of-real-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4b5f629b9a07429a5d2","block":"rosetta-code","challengeType":5,"title":"SHA-1","order":3,"superBlock":"coding-interview-prep","dashedName":"sha-1","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sha-1","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5eb3e4c3a894c333d2811a3f","block":"rosetta-code","challengeType":5,"title":"SHA-256","order":3,"superBlock":"coding-interview-prep","dashedName":"sha-256","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sha-256","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc7ffe","block":"rosetta-code","challengeType":5,"title":"Sort an array of composite structures","order":3,"superBlock":"coding-interview-prep","dashedName":"sort-an-array-of-composite-structures","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sort-an-array-of-composite-structures","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8000","block":"rosetta-code","challengeType":5,"title":"Sort disjoint sublist","order":3,"superBlock":"coding-interview-prep","dashedName":"sort-disjoint-sublist","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sort-disjoint-sublist","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8014","block":"rosetta-code","challengeType":5,"title":"Sort stability","order":3,"superBlock":"coding-interview-prep","dashedName":"sort-stability","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sort-stability","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8016","block":"rosetta-code","challengeType":5,"title":"Sort using a custom comparator","order":3,"superBlock":"coding-interview-prep","dashedName":"sort-using-a-custom-comparator","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sort-using-a-custom-comparator","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8001","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Bead sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsbead-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbead-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8002","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Bogosort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsbogosort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbogosort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8004","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Cocktail sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmscocktail-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmscocktail-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8005","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Comb sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmscomb-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmscomb-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8007","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Gnome sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsgnome-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsgnome-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc800b","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Pancake sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmspancake-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmspancake-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc800c","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Permutation sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmspermutation-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmspermutation-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8010","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Shell sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsshell-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsshell-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8012","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Stooge sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsstooge-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstooge-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8013","block":"rosetta-code","challengeType":5,"title":"Sorting algorithms/Strand sort","order":3,"superBlock":"coding-interview-prep","dashedName":"sorting-algorithmsstrand-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstrand-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8017","block":"rosetta-code","challengeType":5,"title":"Soundex","order":3,"superBlock":"coding-interview-prep","dashedName":"soundex","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/soundex","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc801c","block":"rosetta-code","challengeType":5,"title":"Spiral matrix","order":3,"superBlock":"coding-interview-prep","dashedName":"spiral-matrix","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/spiral-matrix","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc801d","block":"rosetta-code","challengeType":5,"title":"Split a character string based on change of character","order":3,"superBlock":"coding-interview-prep","dashedName":"split-a-character-string-based-on-change-of-character","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/split-a-character-string-based-on-change-of-character","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8024","block":"rosetta-code","challengeType":5,"title":"State name puzzle","order":3,"superBlock":"coding-interview-prep","dashedName":"state-name-puzzle","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/state-name-puzzle","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8028","block":"rosetta-code","challengeType":5,"title":"Stern-Brocot sequence","order":3,"superBlock":"coding-interview-prep","dashedName":"stern-brocot-sequence","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/stern-brocot-sequence","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8029","block":"rosetta-code","challengeType":5,"title":"Straddling checkerboard","order":3,"superBlock":"coding-interview-prep","dashedName":"straddling-checkerboard","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/straddling-checkerboard","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc802a","block":"rosetta-code","challengeType":5,"title":"Stream Merge","order":3,"superBlock":"coding-interview-prep","dashedName":"stream-merge","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/stream-merge","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8036","block":"rosetta-code","challengeType":5,"title":"Strip control codes and extended characters from a string","order":3,"superBlock":"coding-interview-prep","dashedName":"strip-control-codes-and-extended-characters-from-a-string","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/strip-control-codes-and-extended-characters-from-a-string","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8038","block":"rosetta-code","challengeType":5,"title":"Subleq","order":3,"superBlock":"coding-interview-prep","dashedName":"subleq","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/subleq","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc803c","block":"rosetta-code","challengeType":5,"title":"Sudoku","order":3,"superBlock":"coding-interview-prep","dashedName":"sudoku","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sudoku","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc803f","block":"rosetta-code","challengeType":5,"title":"Sum digits of an integer","order":3,"superBlock":"coding-interview-prep","dashedName":"sum-digits-of-an-integer","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sum-digits-of-an-integer","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8040","block":"rosetta-code","challengeType":5,"title":"Sum multiples of 3 and 5","order":3,"superBlock":"coding-interview-prep","dashedName":"sum-multiples-of-3-and-5","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sum-multiples-of-3-and-5","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8041","block":"rosetta-code","challengeType":5,"title":"Sum of a series","order":3,"superBlock":"coding-interview-prep","dashedName":"sum-of-a-series","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sum-of-a-series","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8042","block":"rosetta-code","challengeType":5,"title":"Sum of squares","order":3,"superBlock":"coding-interview-prep","dashedName":"sum-of-squares","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sum-of-squares","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8043","block":"rosetta-code","challengeType":5,"title":"Sum to 100","order":3,"superBlock":"coding-interview-prep","dashedName":"sum-to-100","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sum-to-100","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8045","block":"rosetta-code","challengeType":5,"title":"Sutherland-Hodgman polygon clipping","order":3,"superBlock":"coding-interview-prep","dashedName":"sutherland-hodgman-polygon-clipping","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/sutherland-hodgman-polygon-clipping","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5a23c84252665b21eecc8046","block":"rosetta-code","challengeType":5,"title":"Symmetric difference","order":3,"superBlock":"coding-interview-prep","dashedName":"symmetric-difference","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/symmetric-difference","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594ecc0d9a8cf816e3340187","block":"rosetta-code","challengeType":5,"title":"Taxicab numbers","order":3,"superBlock":"coding-interview-prep","dashedName":"taxicab-numbers","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/taxicab-numbers","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594faaab4e2a8626833e9c3d","block":"rosetta-code","challengeType":5,"title":"Tokenize a string with escaping","order":3,"superBlock":"coding-interview-prep","dashedName":"tokenize-a-string-with-escaping","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/tokenize-a-string-with-escaping","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594fa2746886f41f7d8bf225","block":"rosetta-code","challengeType":5,"title":"Topological sort","order":3,"superBlock":"coding-interview-prep","dashedName":"topological-sort","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/topological-sort","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"595011cba5a81735713873bd","block":"rosetta-code","challengeType":5,"title":"Top rank per group","order":3,"superBlock":"coding-interview-prep","dashedName":"top-rank-per-group","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/top-rank-per-group","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5951ed8945deab770972ae56","block":"rosetta-code","challengeType":5,"title":"Towers of Hanoi","order":3,"superBlock":"coding-interview-prep","dashedName":"towers-of-hanoi","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/towers-of-hanoi","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad2","block":"rosetta-code","challengeType":5,"title":"Vector cross product","order":3,"superBlock":"coding-interview-prep","dashedName":"vector-cross-product","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/vector-cross-product","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad3","block":"rosetta-code","challengeType":5,"title":"Vector dot product","order":3,"superBlock":"coding-interview-prep","dashedName":"vector-dot-product","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/vector-dot-product","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5e94a54cc7b022105bf0fd2c","block":"rosetta-code","challengeType":5,"title":"Word frequency","order":3,"superBlock":"coding-interview-prep","dashedName":"word-frequency","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/word-frequency","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad4","block":"rosetta-code","challengeType":5,"title":"Word wrap","order":3,"superBlock":"coding-interview-prep","dashedName":"word-wrap","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/word-wrap","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad5","block":"rosetta-code","challengeType":5,"title":"Y combinator","order":3,"superBlock":"coding-interview-prep","dashedName":"y-combinator","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/y-combinator","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad6","block":"rosetta-code","challengeType":5,"title":"Zeckendorf number representation","order":3,"superBlock":"coding-interview-prep","dashedName":"zeckendorf-number-representation","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/zeckendorf-number-representation","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad7","block":"rosetta-code","challengeType":5,"title":"Zhang-Suen thinning algorithm","order":3,"superBlock":"coding-interview-prep","dashedName":"zhang-suen-thinning-algorithm","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/zhang-suen-thinning-algorithm","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"594810f028c0303b75339ad8","block":"rosetta-code","challengeType":5,"title":"Zig-zag matrix","order":3,"superBlock":"coding-interview-prep","dashedName":"zig-zag-matrix","fields":{"slug":"/learn/coding-interview-prep/rosetta-code/zig-zag-matrix","blockName":"Rosetta Code"}}}},{"node":{"challenge":{"id":"5900f36e1000cf542c50fe80","block":"project-euler","challengeType":5,"title":"Problem 1: Multiples of 3 and 5","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-1-multiples-of-3-and-5","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-1-multiples-of-3-and-5","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f36e1000cf542c50fe81","block":"project-euler","challengeType":5,"title":"Problem 2: Even Fibonacci Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-2-even-fibonacci-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-2-even-fibonacci-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f36f1000cf542c50fe82","block":"project-euler","challengeType":5,"title":"Problem 3: Largest prime factor","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-3-largest-prime-factor","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-3-largest-prime-factor","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3701000cf542c50fe83","block":"project-euler","challengeType":5,"title":"Problem 4: Largest palindrome product","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-4-largest-palindrome-product","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-4-largest-palindrome-product","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3711000cf542c50fe84","block":"project-euler","challengeType":5,"title":"Problem 5: Smallest multiple","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-5-smallest-multiple","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-5-smallest-multiple","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3721000cf542c50fe85","block":"project-euler","challengeType":5,"title":"Problem 6: Sum square difference","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-6-sum-square-difference","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-6-sum-square-difference","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3731000cf542c50fe86","block":"project-euler","challengeType":5,"title":"Problem 7: 10001st prime","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-7-10001st-prime","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-7-10001st-prime","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3741000cf542c50fe87","block":"project-euler","challengeType":5,"title":"Problem 8: Largest product in a series","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-8-largest-product-in-a-series","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-8-largest-product-in-a-series","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3761000cf542c50fe88","block":"project-euler","challengeType":5,"title":"Problem 9: Special Pythagorean triplet","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-9-special-pythagorean-triplet","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-9-special-pythagorean-triplet","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3761000cf542c50fe89","block":"project-euler","challengeType":5,"title":"Problem 10: Summation of primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-10-summation-of-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-10-summation-of-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3781000cf542c50fe8a","block":"project-euler","challengeType":5,"title":"Problem 11: Largest product in a grid","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-11-largest-product-in-a-grid","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-11-largest-product-in-a-grid","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3781000cf542c50fe8b","block":"project-euler","challengeType":5,"title":"Problem 12: Highly divisible triangular number","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-12-highly-divisible-triangular-number","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-12-highly-divisible-triangular-number","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37a1000cf542c50fe8c","block":"project-euler","challengeType":5,"title":"Problem 13: Large sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-13-large-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-13-large-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37a1000cf542c50fe8d","block":"project-euler","challengeType":5,"title":"Problem 14: Longest Collatz sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-14-longest-collatz-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-14-longest-collatz-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37b1000cf542c50fe8e","block":"project-euler","challengeType":5,"title":"Problem 15: Lattice paths","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-15-lattice-paths","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-15-lattice-paths","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37d1000cf542c50fe8f","block":"project-euler","challengeType":5,"title":"Problem 16: Power digit sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-16-power-digit-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-16-power-digit-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37d1000cf542c50fe90","block":"project-euler","challengeType":5,"title":"Problem 17: Number letter counts","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-17-number-letter-counts","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-17-number-letter-counts","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37e1000cf542c50fe91","block":"project-euler","challengeType":5,"title":"Problem 18: Maximum path sum I","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-18-maximum-path-sum-i","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-18-maximum-path-sum-i","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f37f1000cf542c50fe92","block":"project-euler","challengeType":5,"title":"Problem 19: Counting Sundays","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-19-counting-sundays","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-19-counting-sundays","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3801000cf542c50fe93","block":"project-euler","challengeType":5,"title":"Problem 20: Factorial digit sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-20-factorial-digit-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-20-factorial-digit-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3811000cf542c50fe94","block":"project-euler","challengeType":5,"title":"Problem 21: Amicable numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-21-amicable-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-21-amicable-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5a51eabcad78bf416f316e2a","block":"project-euler","challengeType":5,"title":"Problem 22: Names scores","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-22-names-scores","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-22-names-scores","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3831000cf542c50fe96","block":"project-euler","challengeType":5,"title":"Problem 23: Non-abundant sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-23-non-abundant-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-23-non-abundant-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3841000cf542c50fe97","block":"project-euler","challengeType":5,"title":"Problem 24: Lexicographic permutations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-24-lexicographic-permutations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-24-lexicographic-permutations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3851000cf542c50fe98","block":"project-euler","challengeType":5,"title":"Problem 25: 1000-digit Fibonacci number","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-25-1000-digit-fibonacci-number","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-25-1000-digit-fibonacci-number","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3861000cf542c50fe99","block":"project-euler","challengeType":5,"title":"Problem 26: Reciprocal cycles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-26-reciprocal-cycles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-26-reciprocal-cycles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3871000cf542c50fe9a","block":"project-euler","challengeType":5,"title":"Problem 27: Quadratic primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-27-quadratic-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-27-quadratic-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3881000cf542c50fe9b","block":"project-euler","challengeType":5,"title":"Problem 28: Number spiral diagonals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-28-number-spiral-diagonals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-28-number-spiral-diagonals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3891000cf542c50fe9c","block":"project-euler","challengeType":5,"title":"Problem 29: Distinct powers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-29-distinct-powers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-29-distinct-powers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38a1000cf542c50fe9d","block":"project-euler","challengeType":5,"title":"Problem 30: Digit n powers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-30-digit-n-powers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-30-digit-n-powers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38b1000cf542c50fe9e","block":"project-euler","challengeType":5,"title":"Problem 31: Coin sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-31-coin-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-31-coin-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38c1000cf542c50fe9f","block":"project-euler","challengeType":5,"title":"Problem 32: Pandigital products","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-32-pandigital-products","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-32-pandigital-products","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38d1000cf542c50fea0","block":"project-euler","challengeType":5,"title":"Problem 33: Digit cancelling fractions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-33-digit-cancelling-fractions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-33-digit-cancelling-fractions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38e1000cf542c50fea1","block":"project-euler","challengeType":5,"title":"Problem 34: Digit factorials","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-34-digit-factorials","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-34-digit-factorials","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f38f1000cf542c50fea2","block":"project-euler","challengeType":5,"title":"Problem 35: Circular primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-35-circular-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-35-circular-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3901000cf542c50fea3","block":"project-euler","challengeType":5,"title":"Problem 36: Double-base palindromes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-36-double-base-palindromes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-36-double-base-palindromes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3911000cf542c50fea4","block":"project-euler","challengeType":5,"title":"Problem 37: Truncatable primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-37-truncatable-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-37-truncatable-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3931000cf542c50fea5","block":"project-euler","challengeType":5,"title":"Problem 38: Pandigital multiples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-38-pandigital-multiples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-38-pandigital-multiples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3931000cf542c50fea6","block":"project-euler","challengeType":5,"title":"Problem 39: Integer right triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-39-integer-right-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-39-integer-right-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3941000cf542c50fea7","block":"project-euler","challengeType":5,"title":"Problem 40: Champernowne's constant","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-40-champernownes-constant","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-40-champernownes-constant","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3951000cf542c50fea8","block":"project-euler","challengeType":5,"title":"Problem 41: Pandigital prime","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-41-pandigital-prime","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-41-pandigital-prime","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3961000cf542c50fea9","block":"project-euler","challengeType":5,"title":"Problem 42: Coded triangle numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-42-coded-triangle-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-42-coded-triangle-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3971000cf542c50feaa","block":"project-euler","challengeType":5,"title":"Problem 43: Sub-string divisibility","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-43-sub-string-divisibility","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-43-sub-string-divisibility","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3981000cf542c50feab","block":"project-euler","challengeType":5,"title":"Problem 44: Pentagon numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-44-pentagon-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-44-pentagon-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3991000cf542c50feac","block":"project-euler","challengeType":5,"title":"Problem 45: Triangular, pentagonal, and hexagonal","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-45-triangular-pentagonal-and-hexagonal","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-45-triangular-pentagonal-and-hexagonal","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39a1000cf542c50fead","block":"project-euler","challengeType":5,"title":"Problem 46: Goldbach's other conjecture","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-46-goldbachs-other-conjecture","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-46-goldbachs-other-conjecture","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39c1000cf542c50feae","block":"project-euler","challengeType":5,"title":"Problem 47: Distinct primes factors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-47-distinct-primes-factors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-47-distinct-primes-factors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39c1000cf542c50feaf","block":"project-euler","challengeType":5,"title":"Problem 48: Self powers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-48-self-powers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-48-self-powers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39d1000cf542c50feb0","block":"project-euler","challengeType":5,"title":"Problem 49: Prime permutations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-49-prime-permutations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-49-prime-permutations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39e1000cf542c50feb1","block":"project-euler","challengeType":5,"title":"Problem 50: Consecutive prime sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-50-consecutive-prime-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-50-consecutive-prime-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f39f1000cf542c50feb2","block":"project-euler","challengeType":5,"title":"Problem 51: Prime digit replacements","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-51-prime-digit-replacements","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-51-prime-digit-replacements","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a01000cf542c50feb3","block":"project-euler","challengeType":5,"title":"Problem 52: Permuted multiples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-52-permuted-multiples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-52-permuted-multiples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a11000cf542c50feb4","block":"project-euler","challengeType":5,"title":"Problem 53: Combinatoric selections","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-53-combinatoric-selections","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-53-combinatoric-selections","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a21000cf542c50feb5","block":"project-euler","challengeType":5,"title":"Problem 54: Poker hands","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-54-poker-hands","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-54-poker-hands","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a31000cf542c50feb6","block":"project-euler","challengeType":5,"title":"Problem 55: Lychrel numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-55-lychrel-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-55-lychrel-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a41000cf542c50feb7","block":"project-euler","challengeType":5,"title":"Problem 56: Powerful digit sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-56-powerful-digit-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-56-powerful-digit-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a51000cf542c50feb8","block":"project-euler","challengeType":5,"title":"Problem 57: Square root convergents","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-57-square-root-convergents","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-57-square-root-convergents","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a61000cf542c50feb9","block":"project-euler","challengeType":5,"title":"Problem 58: Spiral primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-58-spiral-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-58-spiral-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a81000cf542c50feba","block":"project-euler","challengeType":5,"title":"Problem 59: XOR decryption","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-59-xor-decryption","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-59-xor-decryption","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a81000cf542c50febb","block":"project-euler","challengeType":5,"title":"Problem 60: Prime pair sets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-60-prime-pair-sets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-60-prime-pair-sets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3a91000cf542c50febc","block":"project-euler","challengeType":5,"title":"Problem 61: Cyclical figurate numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-61-cyclical-figurate-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-61-cyclical-figurate-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3aa1000cf542c50febd","block":"project-euler","challengeType":5,"title":"Problem 62: Cubic permutations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-62-cubic-permutations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-62-cubic-permutations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ab1000cf542c50febe","block":"project-euler","challengeType":5,"title":"Problem 63: Powerful digit counts","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-63-powerful-digit-counts","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-63-powerful-digit-counts","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ac1000cf542c50febf","block":"project-euler","challengeType":5,"title":"Problem 64: Odd period square roots","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-64-odd-period-square-roots","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-64-odd-period-square-roots","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ad1000cf542c50fec0","block":"project-euler","challengeType":5,"title":"Problem 65: Convergents of e","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-65-convergents-of-e","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-65-convergents-of-e","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ae1000cf542c50fec1","block":"project-euler","challengeType":5,"title":"Problem 66: Diophantine equation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-66-diophantine-equation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-66-diophantine-equation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b01000cf542c50fec2","block":"project-euler","challengeType":5,"title":"Problem 67: Maximum path sum II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-67-maximum-path-sum-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-67-maximum-path-sum-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b01000cf542c50fec3","block":"project-euler","challengeType":5,"title":"Problem 68: Magic 5-gon ring","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-68-magic-5-gon-ring","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-68-magic-5-gon-ring","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b11000cf542c50fec4","block":"project-euler","challengeType":5,"title":"Problem 69: Totient maximum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-69-totient-maximum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-69-totient-maximum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b21000cf542c50fec5","block":"project-euler","challengeType":5,"title":"Problem 70: Totient permutation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-70-totient-permutation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-70-totient-permutation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b31000cf542c50fec6","block":"project-euler","challengeType":5,"title":"Problem 71: Ordered fractions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-71-ordered-fractions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-71-ordered-fractions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b41000cf542c50fec7","block":"project-euler","challengeType":5,"title":"Problem 72: Counting fractions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-72-counting-fractions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-72-counting-fractions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b61000cf542c50fec8","block":"project-euler","challengeType":5,"title":"Problem 73: Counting fractions in a range","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-73-counting-fractions-in-a-range","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-73-counting-fractions-in-a-range","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b61000cf542c50fec9","block":"project-euler","challengeType":5,"title":"Problem 74: Digit factorial chains","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-74-digit-factorial-chains","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-74-digit-factorial-chains","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b71000cf542c50feca","block":"project-euler","challengeType":5,"title":"Problem 75: Singular integer right triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-75-singular-integer-right-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-75-singular-integer-right-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b81000cf542c50fecb","block":"project-euler","challengeType":5,"title":"Problem 76: Counting summations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-76-counting-summations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-76-counting-summations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3b91000cf542c50fecc","block":"project-euler","challengeType":5,"title":"Problem 77: Prime summations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-77-prime-summations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-77-prime-summations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ba1000cf542c50fecd","block":"project-euler","challengeType":5,"title":"Problem 78: Coin partitions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-78-coin-partitions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-78-coin-partitions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3bb1000cf542c50fece","block":"project-euler","challengeType":5,"title":"Problem 79: Passcode derivation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-79-passcode-derivation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-79-passcode-derivation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3bc1000cf542c50fecf","block":"project-euler","challengeType":5,"title":"Problem 80: Square root digital expansion","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-80-square-root-digital-expansion","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-80-square-root-digital-expansion","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3bd1000cf542c50fed0","block":"project-euler","challengeType":5,"title":"Problem 81: Path sum: two ways","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-81-path-sum-two-ways","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-81-path-sum-two-ways","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3be1000cf542c50fed1","block":"project-euler","challengeType":5,"title":"Problem 82: Path sum: three ways","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-82-path-sum-three-ways","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-82-path-sum-three-ways","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3bf1000cf542c50fed2","block":"project-euler","challengeType":5,"title":"Problem 83: Path sum: four ways","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-83-path-sum-four-ways","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-83-path-sum-four-ways","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c11000cf542c50fed3","block":"project-euler","challengeType":5,"title":"Problem 84: Monopoly odds","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-84-monopoly-odds","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-84-monopoly-odds","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c11000cf542c50fed4","block":"project-euler","challengeType":5,"title":"Problem 85: Counting rectangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-85-counting-rectangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-85-counting-rectangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c31000cf542c50fed5","block":"project-euler","challengeType":5,"title":"Problem 86: Cuboid route","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-86-cuboid-route","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-86-cuboid-route","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c51000cf542c50fed8","block":"project-euler","challengeType":5,"title":"Problem 87: Prime power triples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-87-prime-power-triples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-87-prime-power-triples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c51000cf542c50fed6","block":"project-euler","challengeType":5,"title":"Problem 88: Product-sum numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-88-product-sum-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-88-product-sum-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c51000cf542c50fed7","block":"project-euler","challengeType":5,"title":"Problem 89: Roman numerals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-89-roman-numerals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-89-roman-numerals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c61000cf542c50fed9","block":"project-euler","challengeType":5,"title":"Problem 90: Cube digit pairs","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-90-cube-digit-pairs","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-90-cube-digit-pairs","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c71000cf542c50feda","block":"project-euler","challengeType":5,"title":"Problem 91: Right triangles with integer coordinates","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-91-right-triangles-with-integer-coordinates","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-91-right-triangles-with-integer-coordinates","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3c81000cf542c50fedb","block":"project-euler","challengeType":5,"title":"Problem 92: Square digit chains","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-92-square-digit-chains","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-92-square-digit-chains","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ca1000cf542c50fedc","block":"project-euler","challengeType":5,"title":"Problem 93: Arithmetic expressions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-93-arithmetic-expressions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-93-arithmetic-expressions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ca1000cf542c50fedd","block":"project-euler","challengeType":5,"title":"Problem 94: Almost equilateral triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-94-almost-equilateral-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-94-almost-equilateral-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3cc1000cf542c50fede","block":"project-euler","challengeType":5,"title":"Problem 95: Amicable chains","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-95-amicable-chains","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-95-amicable-chains","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3cc1000cf542c50fedf","block":"project-euler","challengeType":5,"title":"Problem 96: Su Doku","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-96-su-doku","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-96-su-doku","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ce1000cf542c50fee0","block":"project-euler","challengeType":5,"title":"Problem 97: Large non-Mersenne prime","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-97-large-non-mersenne-prime","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-97-large-non-mersenne-prime","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3cf1000cf542c50fee1","block":"project-euler","challengeType":5,"title":"Problem 98: Anagramic squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-98-anagramic-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-98-anagramic-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d01000cf542c50fee2","block":"project-euler","challengeType":5,"title":"Problem 99: Largest exponential","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-99-largest-exponential","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-99-largest-exponential","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d01000cf542c50fee3","block":"project-euler","challengeType":5,"title":"Problem 100: Arranged probability","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-100-arranged-probability","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-100-arranged-probability","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d21000cf542c50fee4","block":"project-euler","challengeType":5,"title":"Problem 101: Optimum polynomial","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-101-optimum-polynomial","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-101-optimum-polynomial","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d21000cf542c50fee5","block":"project-euler","challengeType":5,"title":"Problem 102: Triangle containment","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-102-triangle-containment","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-102-triangle-containment","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d61000cf542c50fee7","block":"project-euler","challengeType":5,"title":"Problem 103: Special subset sums: optimum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-103-special-subset-sums-optimum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-103-special-subset-sums-optimum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d51000cf542c50fee6","block":"project-euler","challengeType":5,"title":"Problem 104: Pandigital Fibonacci ends","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-104-pandigital-fibonacci-ends","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-104-pandigital-fibonacci-ends","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d61000cf542c50fee8","block":"project-euler","challengeType":5,"title":"Problem 105: Special subset sums: testing","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-105-special-subset-sums-testing","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-105-special-subset-sums-testing","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d71000cf542c50fee9","block":"project-euler","challengeType":5,"title":"Problem 106: Special subset sums: meta-testing","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-106-special-subset-sums-meta-testing","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-106-special-subset-sums-meta-testing","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d91000cf542c50feea","block":"project-euler","challengeType":5,"title":"Problem 107: Minimal network","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-107-minimal-network","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-107-minimal-network","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3d91000cf542c50feeb","block":"project-euler","challengeType":5,"title":"Problem 108: Diophantine Reciprocals I","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-108-diophantine-reciprocals-i","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-108-diophantine-reciprocals-i","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3db1000cf542c50feec","block":"project-euler","challengeType":5,"title":"Problem 109: Darts","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-109-darts","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-109-darts","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3db1000cf542c50feed","block":"project-euler","challengeType":5,"title":"Problem 110: Diophantine Reciprocals II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-110-diophantine-reciprocals-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-110-diophantine-reciprocals-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3db1000cf542c50feee","block":"project-euler","challengeType":5,"title":"Problem 111: Primes with runs","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-111-primes-with-runs","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-111-primes-with-runs","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3dd1000cf542c50feef","block":"project-euler","challengeType":5,"title":"Problem 112: Bouncy numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-112-bouncy-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-112-bouncy-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3dd1000cf542c50fef0","block":"project-euler","challengeType":5,"title":"Problem 113: Non-bouncy numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-113-non-bouncy-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-113-non-bouncy-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e01000cf542c50fef2","block":"project-euler","challengeType":5,"title":"Problem 114: Counting block combinations I","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-114-counting-block-combinations-i","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-114-counting-block-combinations-i","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3df1000cf542c50fef1","block":"project-euler","challengeType":5,"title":"Problem 115: Counting block combinations II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-115-counting-block-combinations-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e01000cf542c50fef3","block":"project-euler","challengeType":5,"title":"Problem 116: Red, green or blue tiles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-116-red-green-or-blue-tiles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e21000cf542c50fef4","block":"project-euler","challengeType":5,"title":"Problem 117: Red, green, and blue tiles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-117-red-green-and-blue-tiles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-117-red-green-and-blue-tiles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e21000cf542c50fef5","block":"project-euler","challengeType":5,"title":"Problem 118: Pandigital prime sets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-118-pandigital-prime-sets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-118-pandigital-prime-sets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e41000cf542c50fef6","block":"project-euler","challengeType":5,"title":"Problem 119: Digit power sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-119-digit-power-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-119-digit-power-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e41000cf542c50fef7","block":"project-euler","challengeType":5,"title":"Problem 120: Square remainders","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-120-square-remainders","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-120-square-remainders","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e51000cf542c50fef8","block":"project-euler","challengeType":5,"title":"Problem 121: Disc game prize fund","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-121-disc-game-prize-fund","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-121-disc-game-prize-fund","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e61000cf542c50fef9","block":"project-euler","challengeType":5,"title":"Problem 122: Efficient exponentiation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-122-efficient-exponentiation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-122-efficient-exponentiation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e71000cf542c50fefa","block":"project-euler","challengeType":5,"title":"Problem 123: Prime square remainders","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-123-prime-square-remainders","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-123-prime-square-remainders","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e81000cf542c50fefb","block":"project-euler","challengeType":5,"title":"Problem 124: Ordered radicals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-124-ordered-radicals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-124-ordered-radicals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3e91000cf542c50fefc","block":"project-euler","challengeType":5,"title":"Problem 125: Palindromic sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-125-palindromic-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-125-palindromic-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ea1000cf542c50fefd","block":"project-euler","challengeType":5,"title":"Problem 126: Cuboid layers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-126-cuboid-layers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-126-cuboid-layers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ec1000cf542c50fefe","block":"project-euler","challengeType":5,"title":"Problem 127: abc-hits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-127-abc-hits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-127-abc-hits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ec1000cf542c50feff","block":"project-euler","challengeType":5,"title":"Problem 128: Hexagonal tile differences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-128-hexagonal-tile-differences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-128-hexagonal-tile-differences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ef1000cf542c50ff01","block":"project-euler","challengeType":5,"title":"Problem 129: Repunit divisibility","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-129-repunit-divisibility","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-129-repunit-divisibility","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ee1000cf542c50ff00","block":"project-euler","challengeType":5,"title":"Problem 130: Composites with prime repunit property","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-130-composites-with-prime-repunit-property","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-130-composites-with-prime-repunit-property","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ef1000cf542c50ff02","block":"project-euler","challengeType":5,"title":"Problem 131: Prime cube partnership","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-131-prime-cube-partnership","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-131-prime-cube-partnership","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f11000cf542c50ff03","block":"project-euler","challengeType":5,"title":"Problem 132: Large repunit factors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-132-large-repunit-factors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-132-large-repunit-factors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f21000cf542c50ff04","block":"project-euler","challengeType":5,"title":"Problem 133: Repunit nonfactors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-133-repunit-nonfactors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-133-repunit-nonfactors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f21000cf542c50ff05","block":"project-euler","challengeType":5,"title":"Problem 134: Prime pair connection","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-134-prime-pair-connection","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-134-prime-pair-connection","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f31000cf542c50ff06","block":"project-euler","challengeType":5,"title":"Problem 135: Same differences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-135-same-differences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-135-same-differences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f51000cf542c50ff07","block":"project-euler","challengeType":5,"title":"Problem 136: Singleton difference","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-136-singleton-difference","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-136-singleton-difference","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f51000cf542c50ff08","block":"project-euler","challengeType":5,"title":"Problem 137: Fibonacci golden nuggets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-137-fibonacci-golden-nuggets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-137-fibonacci-golden-nuggets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f61000cf542c50ff09","block":"project-euler","challengeType":5,"title":"Problem 138: Special isosceles triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-138-special-isosceles-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-138-special-isosceles-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f71000cf542c50ff0a","block":"project-euler","challengeType":5,"title":"Problem 139: Pythagorean tiles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-139-pythagorean-tiles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-139-pythagorean-tiles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fa1000cf542c50ff0c","block":"project-euler","challengeType":5,"title":"Problem 140: Modified Fibonacci golden nuggets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-140-modified-fibonacci-golden-nuggets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-140-modified-fibonacci-golden-nuggets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3f91000cf542c50ff0b","block":"project-euler","challengeType":5,"title":"Problem 141: Investigating progressive numbers, n, which are also square","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-141-investigating-progressive-numbers-n-which-are-also-square","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-141-investigating-progressive-numbers-n-which-are-also-square","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fa1000cf542c50ff0d","block":"project-euler","challengeType":5,"title":"Problem 142: Perfect Square Collection","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-142-perfect-square-collection","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-142-perfect-square-collection","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fc1000cf542c50ff0e","block":"project-euler","challengeType":5,"title":"Problem 143: Investigating the Torricelli point of a triangle","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-143-investigating-the-torricelli-point-of-a-triangle","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-143-investigating-the-torricelli-point-of-a-triangle","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fc1000cf542c50ff0f","block":"project-euler","challengeType":5,"title":"Problem 144: Investigating multiple reflections of a laser beam","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-144-investigating-multiple-reflections-of-a-laser-beam","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-144-investigating-multiple-reflections-of-a-laser-beam","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fd1000cf542c50ff10","block":"project-euler","challengeType":5,"title":"Problem 145: How many reversible numbers are there below one-billion?","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-145-how-many-reversible-numbers-are-there-below-one-billion","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-145-how-many-reversible-numbers-are-there-below-one-billion","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3fe1000cf542c50ff11","block":"project-euler","challengeType":5,"title":"Problem 146: Investigating a Prime Pattern","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-146-investigating-a-prime-pattern","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-146-investigating-a-prime-pattern","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f3ff1000cf542c50ff12","block":"project-euler","challengeType":5,"title":"Problem 147: Rectangles in cross-hatched grids","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-147-rectangles-in-cross-hatched-grids","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-147-rectangles-in-cross-hatched-grids","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4021000cf542c50ff14","block":"project-euler","challengeType":5,"title":"Problem 148: Exploring Pascal's triangle","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-148-exploring-pascals-triangle","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-148-exploring-pascals-triangle","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4021000cf542c50ff13","block":"project-euler","challengeType":5,"title":"Problem 149: Searching for a maximum-sum subsequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-149-searching-for-a-maximum-sum-subsequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-149-searching-for-a-maximum-sum-subsequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4031000cf542c50ff15","block":"project-euler","challengeType":5,"title":"Problem 150: Searching a triangular array for a sub-triangle having minimum-sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4031000cf542c50ff16","block":"project-euler","challengeType":5,"title":"Problem 151: Paper sheets of standard sizes: an expected-value problem","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4041000cf542c50ff17","block":"project-euler","challengeType":5,"title":"Problem 152: Writing one half as a sum of inverse squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-152-writing-one-half-as-a-sum-of-inverse-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-152-writing-one-half-as-a-sum-of-inverse-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4051000cf542c50ff18","block":"project-euler","challengeType":5,"title":"Problem 153: Investigating Gaussian Integers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-153-investigating-gaussian-integers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-153-investigating-gaussian-integers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4071000cf542c50ff19","block":"project-euler","challengeType":5,"title":"Problem 154: Exploring Pascal's pyramid","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-154-exploring-pascals-pyramid","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-154-exploring-pascals-pyramid","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4081000cf542c50ff1a","block":"project-euler","challengeType":5,"title":"Problem 155: Counting Capacitor Circuits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-155-counting-capacitor-circuits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-155-counting-capacitor-circuits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4091000cf542c50ff1b","block":"project-euler","challengeType":5,"title":"Problem 156: Counting Digits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-156-counting-digits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-156-counting-digits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4091000cf542c50ff1c","block":"project-euler","challengeType":5,"title":"Problem 157: Solving the diophantine equation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-157-solving-the-diophantine-equation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-157-solving-the-diophantine-equation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40a1000cf542c50ff1d","block":"project-euler","challengeType":5,"title":"Problem 158: Exploring strings for which only one character comes lexicographically after its neighbour to the left","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40c1000cf542c50ff1e","block":"project-euler","challengeType":5,"title":"Problem 159: Digital root sums of factorisations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-159-digital-root-sums-of-factorisations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-159-digital-root-sums-of-factorisations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40d1000cf542c50ff1f","block":"project-euler","challengeType":5,"title":"Problem 160: Factorial trailing digits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-160-factorial-trailing-digits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-160-factorial-trailing-digits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40d1000cf542c50ff20","block":"project-euler","challengeType":5,"title":"Problem 161: Triominoes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-161-triominoes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-161-triominoes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40e1000cf542c50ff21","block":"project-euler","challengeType":5,"title":"Problem 162: Hexadecimal numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-162-hexadecimal-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-162-hexadecimal-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f40f1000cf542c50ff22","block":"project-euler","challengeType":5,"title":"Problem 163: Cross-hatched triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-163-cross-hatched-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-163-cross-hatched-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4111000cf542c50ff23","block":"project-euler","challengeType":5,"title":"Problem 164: Numbers for which no three consecutive digits have a sum greater than a given value","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4111000cf542c50ff24","block":"project-euler","challengeType":5,"title":"Problem 165: Intersections","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-165-intersections","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-165-intersections","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4131000cf542c50ff25","block":"project-euler","challengeType":5,"title":"Problem 166: Criss Cross","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-166-criss-cross","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-166-criss-cross","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4141000cf542c50ff26","block":"project-euler","challengeType":5,"title":"Problem 167: Investigating Ulam sequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-167-investigating-ulam-sequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-167-investigating-ulam-sequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4151000cf542c50ff27","block":"project-euler","challengeType":5,"title":"Problem 168: Number Rotations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-168-number-rotations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-168-number-rotations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4151000cf542c50ff28","block":"project-euler","challengeType":5,"title":"Problem 169: Exploring the number of different ways a number can be expressed as a sum of powers of 2","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4161000cf542c50ff29","block":"project-euler","challengeType":5,"title":"Problem 170: Find the largest 0 to 9 pandigital that can be formed by concatenating products","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4181000cf542c50ff2a","block":"project-euler","challengeType":5,"title":"Problem 171: Finding numbers for which the sum of the squares of the digits is a square","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4181000cf542c50ff2b","block":"project-euler","challengeType":5,"title":"Problem 172: Investigating numbers with few repeated digits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-172-investigating-numbers-with-few-repeated-digits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-172-investigating-numbers-with-few-repeated-digits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41a1000cf542c50ff2c","block":"project-euler","challengeType":5,"title":"Problem 173: Using up to one million tiles how many different \"hollow\" square laminae can be formed?","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41a1000cf542c50ff2d","block":"project-euler","challengeType":5,"title":"Problem 174: Counting the number of \"hollow\" square laminae that can form one, two, three, ... distinct arrangements","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-----distinct-arrangements","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-----distinct-arrangements","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41c1000cf542c50ff2e","block":"project-euler","challengeType":5,"title":"Problem 175: Fractions involving the number of different ways a number can be expressed as a sum of powers of 2","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41c1000cf542c50ff2f","block":"project-euler","challengeType":5,"title":"Problem 176: Right-angled triangles that share a cathetus","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-176-right-angled-triangles-that-share-a-cathetus","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-176-right-angled-triangles-that-share-a-cathetus","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41e1000cf542c50ff30","block":"project-euler","challengeType":5,"title":"Problem 177: Integer angled Quadrilaterals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-177-integer-angled-quadrilaterals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-177-integer-angled-quadrilaterals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41e1000cf542c50ff31","block":"project-euler","challengeType":5,"title":"Problem 178: Step Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-178-step-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-178-step-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f41f1000cf542c50ff32","block":"project-euler","challengeType":5,"title":"Problem 179: Consecutive positive divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-179-consecutive-positive-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-179-consecutive-positive-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4201000cf542c50ff33","block":"project-euler","challengeType":5,"title":"Problem 180: Rational zeros of a function of three variables","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-180-rational-zeros-of-a-function-of-three-variables","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-180-rational-zeros-of-a-function-of-three-variables","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4231000cf542c50ff34","block":"project-euler","challengeType":5,"title":"Problem 181: Investigating in how many ways objects of two different colours can be grouped","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4231000cf542c50ff35","block":"project-euler","challengeType":5,"title":"Problem 182: RSA encryption","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-182-rsa-encryption","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-182-rsa-encryption","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4231000cf542c50ff36","block":"project-euler","challengeType":5,"title":"Problem 183: Maximum product of parts","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-183-maximum-product-of-parts","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-183-maximum-product-of-parts","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4241000cf542c50ff37","block":"project-euler","challengeType":5,"title":"Problem 184: Triangles containing the origin","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-184-triangles-containing-the-origin","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-184-triangles-containing-the-origin","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4251000cf542c50ff38","block":"project-euler","challengeType":5,"title":"Problem 185: Number Mind","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-185-number-mind","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-185-number-mind","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4281000cf542c50ff39","block":"project-euler","challengeType":5,"title":"Problem 186: Connectedness of a network","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-186-connectedness-of-a-network","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-186-connectedness-of-a-network","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4291000cf542c50ff3a","block":"project-euler","challengeType":5,"title":"Problem 187: Semiprimes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-187-semiprimes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-187-semiprimes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4291000cf542c50ff3b","block":"project-euler","challengeType":5,"title":"Problem 188: The hyperexponentiation of a number","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-188-the-hyperexponentiation-of-a-number","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-188-the-hyperexponentiation-of-a-number","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4291000cf542c50ff3c","block":"project-euler","challengeType":5,"title":"Problem 189: Tri-colouring a triangular grid","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-189-tri-colouring-a-triangular-grid","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-189-tri-colouring-a-triangular-grid","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f42b1000cf542c50ff3d","block":"project-euler","challengeType":5,"title":"Problem 190: Maximising a weighted product","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-190-maximising-a-weighted-product","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-190-maximising-a-weighted-product","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f42b1000cf542c50ff3e","block":"project-euler","challengeType":5,"title":"Problem 191: Prize Strings","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-191-prize-strings","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-191-prize-strings","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f42c1000cf542c50ff3f","block":"project-euler","challengeType":5,"title":"Problem 192: Best Approximations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-192-best-approximations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-192-best-approximations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f42f1000cf542c50ff41","block":"project-euler","challengeType":5,"title":"Problem 193: Squarefree Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-193-squarefree-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-193-squarefree-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f42f1000cf542c50ff40","block":"project-euler","challengeType":5,"title":"Problem 194: Coloured Configurations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-194-coloured-configurations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-194-coloured-configurations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4311000cf542c50ff43","block":"project-euler","challengeType":5,"title":"Problem 195: Inscribed circles of triangles with one angle of 60 degrees","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4301000cf542c50ff42","block":"project-euler","challengeType":5,"title":"Problem 196: Prime triplets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-196-prime-triplets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-196-prime-triplets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4311000cf542c50ff44","block":"project-euler","challengeType":5,"title":"Problem 197: Investigating the behaviour of a recursively defined sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4331000cf542c50ff45","block":"project-euler","challengeType":5,"title":"Problem 198: Ambiguous Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-198-ambiguous-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-198-ambiguous-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4341000cf542c50ff46","block":"project-euler","challengeType":5,"title":"Problem 199: Iterative Circle Packing","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-199-iterative-circle-packing","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-199-iterative-circle-packing","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4351000cf542c50ff47","block":"project-euler","challengeType":5,"title":"Problem 200: Find the 200th prime-proof sqube containing the contiguous sub-string \"200\"","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4361000cf542c50ff48","block":"project-euler","challengeType":5,"title":"Problem 201: Subsets with a unique sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-201-subsets-with-a-unique-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-201-subsets-with-a-unique-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4371000cf542c50ff49","block":"project-euler","challengeType":5,"title":"Problem 202: Laserbeam","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-202-laserbeam","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-202-laserbeam","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4381000cf542c50ff4a","block":"project-euler","challengeType":5,"title":"Problem 203: Squarefree Binomial Coefficients","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-203-squarefree-binomial-coefficients","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-203-squarefree-binomial-coefficients","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4381000cf542c50ff4b","block":"project-euler","challengeType":5,"title":"Problem 204: Generalised Hamming Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-204-generalised-hamming-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-204-generalised-hamming-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4391000cf542c50ff4c","block":"project-euler","challengeType":5,"title":"Problem 205: Dice Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-205-dice-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-205-dice-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43a1000cf542c50ff4d","block":"project-euler","challengeType":5,"title":"Problem 206: Concealed Square","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-206-concealed-square","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-206-concealed-square","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43c1000cf542c50ff4e","block":"project-euler","challengeType":5,"title":"Problem 207: Integer partition equations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-207-integer-partition-equations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-207-integer-partition-equations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43f1000cf542c50ff51","block":"project-euler","challengeType":5,"title":"Problem 208: Robot Walks","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-208-robot-walks","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-208-robot-walks","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43e1000cf542c50ff4f","block":"project-euler","challengeType":5,"title":"Problem 209: Circular Logic","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-209-circular-logic","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-209-circular-logic","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43e1000cf542c50ff50","block":"project-euler","challengeType":5,"title":"Problem 210: Obtuse Angled Triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-210-obtuse-angled-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-210-obtuse-angled-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f43f1000cf542c50ff52","block":"project-euler","challengeType":5,"title":"Problem 211: Divisor Square Sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-211-divisor-square-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-211-divisor-square-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4411000cf542c50ff53","block":"project-euler","challengeType":5,"title":"Problem 212: Combined Volume of Cuboids","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-212-combined-volume-of-cuboids","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-212-combined-volume-of-cuboids","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4411000cf542c50ff54","block":"project-euler","challengeType":5,"title":"Problem 213: Flea Circus","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-213-flea-circus","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-213-flea-circus","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4421000cf542c50ff55","block":"project-euler","challengeType":5,"title":"Problem 214: Totient Chains","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-214-totient-chains","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-214-totient-chains","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4431000cf542c50ff56","block":"project-euler","challengeType":5,"title":"Problem 215: Crack-free Walls","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-215-crack-free-walls","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-215-crack-free-walls","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4451000cf542c50ff57","block":"project-euler","challengeType":5,"title":"Problem 216: Investigating the primality of numbers of the form 2n2-1","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4461000cf542c50ff58","block":"project-euler","challengeType":5,"title":"Problem 217: Balanced Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-217-balanced-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-217-balanced-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4461000cf542c50ff59","block":"project-euler","challengeType":5,"title":"Problem 218: Perfect right-angled triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-218-perfect-right-angled-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-218-perfect-right-angled-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4481000cf542c50ff5a","block":"project-euler","challengeType":5,"title":"Problem 219: Skew-cost coding","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-219-skew-cost-coding","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-219-skew-cost-coding","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4481000cf542c50ff5b","block":"project-euler","challengeType":5,"title":"Problem 220: Heighway Dragon","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-220-heighway-dragon","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-220-heighway-dragon","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4491000cf542c50ff5c","block":"project-euler","challengeType":5,"title":"Problem 221: Alexandrian Integers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-221-alexandrian-integers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-221-alexandrian-integers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f44b1000cf542c50ff5d","block":"project-euler","challengeType":5,"title":"Problem 222: Sphere Packing","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-222-sphere-packing","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-222-sphere-packing","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f44b1000cf542c50ff5e","block":"project-euler","challengeType":5,"title":"Problem 223: Almost right-angled triangles I","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-223-almost-right-angled-triangles-i","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-223-almost-right-angled-triangles-i","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f44e1000cf542c50ff5f","block":"project-euler","challengeType":5,"title":"Problem 224: Almost right-angled triangles II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-224-almost-right-angled-triangles-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-224-almost-right-angled-triangles-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f44e1000cf542c50ff60","block":"project-euler","challengeType":5,"title":"Problem 225: Tribonacci non-divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-225-tribonacci-non-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-225-tribonacci-non-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4511000cf542c50ff62","block":"project-euler","challengeType":5,"title":"Problem 226: A Scoop of Blancmange","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-226-a-scoop-of-blancmange","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-226-a-scoop-of-blancmange","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f44f1000cf542c50ff61","block":"project-euler","challengeType":5,"title":"Problem 227: The Chase","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-227-the-chase","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-227-the-chase","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4511000cf542c50ff63","block":"project-euler","challengeType":5,"title":"Problem 228: Minkowski Sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-228-minkowski-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-228-minkowski-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4521000cf542c50ff64","block":"project-euler","challengeType":5,"title":"Problem 229: Four Representations using Squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-229-four-representations-using-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-229-four-representations-using-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4531000cf542c50ff65","block":"project-euler","challengeType":5,"title":"Problem 230: Fibonacci Words","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-230-fibonacci-words","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-230-fibonacci-words","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4531000cf542c50ff66","block":"project-euler","challengeType":5,"title":"Problem 231: The prime factorisation of binomial coefficients","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-231-the-prime-factorisation-of-binomial-coefficients","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-231-the-prime-factorisation-of-binomial-coefficients","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4551000cf542c50ff67","block":"project-euler","challengeType":5,"title":"Problem 232: The Race","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-232-the-race","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-232-the-race","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4551000cf542c50ff68","block":"project-euler","challengeType":5,"title":"Problem 233: Lattice points on a circle","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-233-lattice-points-on-a-circle","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-233-lattice-points-on-a-circle","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4571000cf542c50ff69","block":"project-euler","challengeType":5,"title":"Problem 234: Semidivisible numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-234-semidivisible-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-234-semidivisible-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4571000cf542c50ff6a","block":"project-euler","challengeType":5,"title":"Problem 235: An Arithmetic Geometric sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-235-an-arithmetic-geometric-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-235-an-arithmetic-geometric-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4591000cf542c50ff6b","block":"project-euler","challengeType":5,"title":"Problem 236: Luxury Hampers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-236-luxury-hampers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-236-luxury-hampers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4591000cf542c50ff6c","block":"project-euler","challengeType":5,"title":"Problem 237: Tours on a 4 x n playing board","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-237-tours-on-a-4-x-n-playing-board","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-237-tours-on-a-4-x-n-playing-board","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f45b1000cf542c50ff6d","block":"project-euler","challengeType":5,"title":"Problem 238: Infinite string tour","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-238-infinite-string-tour","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-238-infinite-string-tour","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f45c1000cf542c50ff6e","block":"project-euler","challengeType":5,"title":"Problem 239: Twenty-two Foolish Primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-239-twenty-two-foolish-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-239-twenty-two-foolish-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f45d1000cf542c50ff6f","block":"project-euler","challengeType":5,"title":"Problem 240: Top Dice","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-240-top-dice","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-240-top-dice","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f45d1000cf542c50ff70","block":"project-euler","challengeType":5,"title":"Problem 241: Perfection Quotients","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-241-perfection-quotients","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-241-perfection-quotients","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f45f1000cf542c50ff71","block":"project-euler","challengeType":5,"title":"Problem 242: Odd Triplets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-242-odd-triplets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-242-odd-triplets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4601000cf542c50ff73","block":"project-euler","challengeType":5,"title":"Problem 243: Resilience","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-243-resilience","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-243-resilience","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4601000cf542c50ff72","block":"project-euler","challengeType":5,"title":"Problem 244: Sliders","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-244-sliders","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-244-sliders","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4621000cf542c50ff74","block":"project-euler","challengeType":5,"title":"Problem 245: Coresilience","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-245-coresilience","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-245-coresilience","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4621000cf542c50ff75","block":"project-euler","challengeType":5,"title":"Problem 246: Tangents to an ellipse","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-246-tangents-to-an-ellipse","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-246-tangents-to-an-ellipse","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4641000cf542c50ff76","block":"project-euler","challengeType":5,"title":"Problem 247: Squares under a hyperbola","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-247-squares-under-a-hyperbola","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-247-squares-under-a-hyperbola","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4651000cf542c50ff77","block":"project-euler","challengeType":5,"title":"Problem 248: Numbers for which Euler’s totient function equals 13!","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-248-numbers-for-which-eulers-totient-function-equals-13","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-248-numbers-for-which-eulers-totient-function-equals-13","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4671000cf542c50ff79","block":"project-euler","challengeType":5,"title":"Problem 249: Prime Subset Sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-249-prime-subset-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-249-prime-subset-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4661000cf542c50ff78","block":"project-euler","challengeType":5,"title":"Problem 250: 250250","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-250-250250","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-250-250250","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4671000cf542c50ff7a","block":"project-euler","challengeType":5,"title":"Problem 251: Cardano Triplets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-251-cardano-triplets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-251-cardano-triplets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4691000cf542c50ff7b","block":"project-euler","challengeType":5,"title":"Problem 252: Convex Holes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-252-convex-holes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-252-convex-holes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4691000cf542c50ff7c","block":"project-euler","challengeType":5,"title":"Problem 253: Tidying up","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-253-tidying-up","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-253-tidying-up","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f46b1000cf542c50ff7d","block":"project-euler","challengeType":5,"title":"Problem 254: Sums of Digit Factorials","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-254-sums-of-digit-factorials","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-254-sums-of-digit-factorials","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f46d1000cf542c50ff7f","block":"project-euler","challengeType":5,"title":"Problem 255: Rounded Square Roots","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-255-rounded-square-roots","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-255-rounded-square-roots","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f46c1000cf542c50ff7e","block":"project-euler","challengeType":5,"title":"Problem 256: Tatami-Free Rooms","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-256-tatami-free-rooms","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-256-tatami-free-rooms","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f46e1000cf542c50ff80","block":"project-euler","challengeType":5,"title":"Problem 257: Angular Bisectors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-257-angular-bisectors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-257-angular-bisectors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f46e1000cf542c50ff81","block":"project-euler","challengeType":5,"title":"Problem 258: A lagged Fibonacci sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-258-a-lagged-fibonacci-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-258-a-lagged-fibonacci-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4701000cf542c50ff82","block":"project-euler","challengeType":5,"title":"Problem 259: Reachable Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-259-reachable-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-259-reachable-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4701000cf542c50ff83","block":"project-euler","challengeType":5,"title":"Problem 260: Stone Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-260-stone-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-260-stone-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4711000cf542c50ff84","block":"project-euler","challengeType":5,"title":"Problem 261: Pivotal Square Sums","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-261-pivotal-square-sums","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-261-pivotal-square-sums","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4731000cf542c50ff85","block":"project-euler","challengeType":5,"title":"Problem 262: Mountain Range","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-262-mountain-range","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-262-mountain-range","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4741000cf542c50ff86","block":"project-euler","challengeType":5,"title":"Problem 263: An engineers' dream come true","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-263-an-engineers-dream-come-true","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-263-an-engineers-dream-come-true","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4751000cf542c50ff87","block":"project-euler","challengeType":5,"title":"Problem 264: Triangle Centres","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-264-triangle-centres","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-264-triangle-centres","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4761000cf542c50ff88","block":"project-euler","challengeType":5,"title":"Problem 265: Binary Circles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-265-binary-circles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-265-binary-circles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4771000cf542c50ff89","block":"project-euler","challengeType":5,"title":"Problem 266: Pseudo Square Root","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-266-pseudo-square-root","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-266-pseudo-square-root","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4771000cf542c50ff8a","block":"project-euler","challengeType":5,"title":"Problem 267: Billionaire","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-267-billionaire","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-267-billionaire","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4791000cf542c50ff8b","block":"project-euler","challengeType":5,"title":"Problem 268: Counting numbers with at least four distinct prime factors less than 100","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4791000cf542c50ff8c","block":"project-euler","challengeType":5,"title":"Problem 269: Polynomials with at least one integer root","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-269-polynomials-with-at-least-one-integer-root","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-269-polynomials-with-at-least-one-integer-root","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f47c1000cf542c50ff8e","block":"project-euler","challengeType":5,"title":"Problem 270: Cutting Squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-270-cutting-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-270-cutting-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f47b1000cf542c50ff8d","block":"project-euler","challengeType":5,"title":"Problem 271: Modular Cubes, part 1","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-271-modular-cubes-part-1","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-271-modular-cubes-part-1","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f47d1000cf542c50ff8f","block":"project-euler","challengeType":5,"title":"Problem 272: Modular Cubes, part 2","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-272-modular-cubes-part-2","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-272-modular-cubes-part-2","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f47e1000cf542c50ff90","block":"project-euler","challengeType":5,"title":"Problem 273: Sum of Squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-273-sum-of-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-273-sum-of-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f47f1000cf542c50ff91","block":"project-euler","challengeType":5,"title":"Problem 274: Divisibility Multipliers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-274-divisibility-multipliers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-274-divisibility-multipliers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4801000cf542c50ff92","block":"project-euler","challengeType":5,"title":"Problem 275: Balanced Sculptures","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-275-balanced-sculptures","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-275-balanced-sculptures","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4801000cf542c50ff93","block":"project-euler","challengeType":5,"title":"Problem 276: Primitive Triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-276-primitive-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-276-primitive-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4811000cf542c50ff94","block":"project-euler","challengeType":5,"title":"Problem 277: A Modified Collatz sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-277-a-modified-collatz-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-277-a-modified-collatz-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4831000cf542c50ff95","block":"project-euler","challengeType":5,"title":"Problem 278: Linear Combinations of Semiprimes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-278-linear-combinations-of-semiprimes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-278-linear-combinations-of-semiprimes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4841000cf542c50ff96","block":"project-euler","challengeType":5,"title":"Problem 279: Triangles with integral sides and an integral angle","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-279-triangles-with-integral-sides-and-an-integral-angle","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-279-triangles-with-integral-sides-and-an-integral-angle","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4841000cf542c50ff97","block":"project-euler","challengeType":5,"title":"Problem 280: Ant and seeds","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-280-ant-and-seeds","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-280-ant-and-seeds","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4861000cf542c50ff98","block":"project-euler","challengeType":5,"title":"Problem 281: Pizza Toppings","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-281-pizza-toppings","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-281-pizza-toppings","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4861000cf542c50ff99","block":"project-euler","challengeType":5,"title":"Problem 282: The Ackermann function","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-282-the-ackermann-function","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-282-the-ackermann-function","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4881000cf542c50ff9a","block":"project-euler","challengeType":5,"title":"Problem 283: Integer sided triangles for which the area / perimeter ratio is integral","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4891000cf542c50ff9b","block":"project-euler","challengeType":5,"title":"Problem 284: Steady Squares","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-284-steady-squares","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-284-steady-squares","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48a1000cf542c50ff9c","block":"project-euler","challengeType":5,"title":"Problem 285: Pythagorean odds","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-285-pythagorean-odds","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-285-pythagorean-odds","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48a1000cf542c50ff9d","block":"project-euler","challengeType":5,"title":"Problem 286: Scoring probabilities","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-286-scoring-probabilities","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-286-scoring-probabilities","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48b1000cf542c50ff9e","block":"project-euler","challengeType":5,"title":"Problem 287: Quadtree encoding (a simple compression algorithm)","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-287-quadtree-encoding-a-simple-compression-algorithm","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-287-quadtree-encoding-a-simple-compression-algorithm","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48d1000cf542c50ff9f","block":"project-euler","challengeType":5,"title":"Problem 288: An enormous factorial","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-288-an-enormous-factorial","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-288-an-enormous-factorial","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48d1000cf542c50ffa0","block":"project-euler","challengeType":5,"title":"Problem 289: Eulerian Cycles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-289-eulerian-cycles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-289-eulerian-cycles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48f1000cf542c50ffa1","block":"project-euler","challengeType":5,"title":"Problem 290: Digital Signature","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-290-digital-signature","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-290-digital-signature","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f48f1000cf542c50ffa2","block":"project-euler","challengeType":5,"title":"Problem 291: Panaitopol Primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-291-panaitopol-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-291-panaitopol-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4911000cf542c50ffa3","block":"project-euler","challengeType":5,"title":"Problem 292: Pythagorean Polygons","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-292-pythagorean-polygons","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-292-pythagorean-polygons","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4931000cf542c50ffa4","block":"project-euler","challengeType":5,"title":"Problem 293: Pseudo-Fortunate Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-293-pseudo-fortunate-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-293-pseudo-fortunate-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4931000cf542c50ffa5","block":"project-euler","challengeType":5,"title":"Problem 294: Sum of digits - experience #23","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-294-sum-of-digits---experience-23","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-294-sum-of-digits---experience-23","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4931000cf542c50ffa6","block":"project-euler","challengeType":5,"title":"Problem 295: Lenticular holes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-295-lenticular-holes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-295-lenticular-holes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4941000cf542c50ffa7","block":"project-euler","challengeType":5,"title":"Problem 296: Angular Bisector and Tangent","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-296-angular-bisector-and-tangent","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-296-angular-bisector-and-tangent","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4951000cf542c50ffa8","block":"project-euler","challengeType":5,"title":"Problem 297: Zeckendorf Representation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-297-zeckendorf-representation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-297-zeckendorf-representation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4971000cf542c50ffa9","block":"project-euler","challengeType":5,"title":"Problem 298: Selective Amnesia","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-298-selective-amnesia","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-298-selective-amnesia","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4971000cf542c50ffaa","block":"project-euler","challengeType":5,"title":"Problem 299: Three similar triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-299-three-similar-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-299-three-similar-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49a1000cf542c50ffac","block":"project-euler","challengeType":5,"title":"Problem 300: Protein folding","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-300-protein-folding","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-300-protein-folding","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4991000cf542c50ffab","block":"project-euler","challengeType":5,"title":"Problem 301: Nim","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-301-nim","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-301-nim","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49b1000cf542c50ffad","block":"project-euler","challengeType":5,"title":"Problem 302: Strong Achilles Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-302-strong-achilles-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-302-strong-achilles-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49b1000cf542c50ffae","block":"project-euler","challengeType":5,"title":"Problem 303: Multiples with small digits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-303-multiples-with-small-digits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-303-multiples-with-small-digits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49d1000cf542c50ffaf","block":"project-euler","challengeType":5,"title":"Problem 304: Primonacci","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-304-primonacci","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-304-primonacci","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49d1000cf542c50ffb0","block":"project-euler","challengeType":5,"title":"Problem 305: Reflexive Position","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-305-reflexive-position","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-305-reflexive-position","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f49f1000cf542c50ffb1","block":"project-euler","challengeType":5,"title":"Problem 306: Paper-strip Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-306-paper-strip-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-306-paper-strip-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a01000cf542c50ffb2","block":"project-euler","challengeType":5,"title":"Problem 307: Chip Defects","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-307-chip-defects","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-307-chip-defects","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a11000cf542c50ffb3","block":"project-euler","challengeType":5,"title":"Problem 308: An amazing Prime-generating Automaton","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-308-an-amazing-prime-generating-automaton","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-308-an-amazing-prime-generating-automaton","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a11000cf542c50ffb4","block":"project-euler","challengeType":5,"title":"Problem 309: Integer Ladders","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-309-integer-ladders","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-309-integer-ladders","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a21000cf542c50ffb5","block":"project-euler","challengeType":5,"title":"Problem 310: Nim Square","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-310-nim-square","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-310-nim-square","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a31000cf542c50ffb6","block":"project-euler","challengeType":5,"title":"Problem 311: Biclinic Integral Quadrilaterals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-311-biclinic-integral-quadrilaterals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-311-biclinic-integral-quadrilaterals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a51000cf542c50ffb7","block":"project-euler","challengeType":5,"title":"Problem 312: Cyclic paths on Sierpiński graphs","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-312-cyclic-paths-on-sierpiski-graphs","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-312-cyclic-paths-on-sierpiski-graphs","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a61000cf542c50ffb8","block":"project-euler","challengeType":5,"title":"Problem 313: Sliding game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-313-sliding-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-313-sliding-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a71000cf542c50ffb9","block":"project-euler","challengeType":5,"title":"Problem 314: The Mouse on the Moon","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-314-the-mouse-on-the-moon","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-314-the-mouse-on-the-moon","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a71000cf542c50ffba","block":"project-euler","challengeType":5,"title":"Problem 315: Digital root clocks","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-315-digital-root-clocks","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-315-digital-root-clocks","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4a81000cf542c50ffbb","block":"project-euler","challengeType":5,"title":"Problem 316: Numbers in decimal expansions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-316-numbers-in-decimal-expansions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-316-numbers-in-decimal-expansions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4aa1000cf542c50ffbc","block":"project-euler","challengeType":5,"title":"Problem 317: Firecracker","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-317-firecracker","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-317-firecracker","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ab1000cf542c50ffbd","block":"project-euler","challengeType":5,"title":"Problem 318: 2011 nines","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-318-2011-nines","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-318-2011-nines","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ab1000cf542c50ffbe","block":"project-euler","challengeType":5,"title":"Problem 319: Bounded Sequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-319-bounded-sequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-319-bounded-sequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ae1000cf542c50ffbf","block":"project-euler","challengeType":5,"title":"Problem 320: Factorials divisible by a huge integer","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-320-factorials-divisible-by-a-huge-integer","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-320-factorials-divisible-by-a-huge-integer","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ae1000cf542c50ffc0","block":"project-euler","challengeType":5,"title":"Problem 321: Swapping Counters","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-321-swapping-counters","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-321-swapping-counters","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4af1000cf542c50ffc1","block":"project-euler","challengeType":5,"title":"Problem 322: Binomial coefficients divisible by 10","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-322-binomial-coefficients-divisible-by-10","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-322-binomial-coefficients-divisible-by-10","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b01000cf542c50ffc2","block":"project-euler","challengeType":5,"title":"Problem 323: Bitwise-OR operations on random integers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-323-bitwise-or-operations-on-random-integers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-323-bitwise-or-operations-on-random-integers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b11000cf542c50ffc3","block":"project-euler","challengeType":5,"title":"Problem 324: Building a tower","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-324-building-a-tower","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-324-building-a-tower","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b11000cf542c50ffc4","block":"project-euler","challengeType":5,"title":"Problem 325: Stone Game II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-325-stone-game-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-325-stone-game-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b21000cf542c50ffc5","block":"project-euler","challengeType":5,"title":"Problem 326: Modulo Summations","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-326-modulo-summations","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-326-modulo-summations","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b31000cf542c50ffc6","block":"project-euler","challengeType":5,"title":"Problem 327: Rooms of Doom","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-327-rooms-of-doom","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-327-rooms-of-doom","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b41000cf542c50ffc7","block":"project-euler","challengeType":5,"title":"Problem 328: Lowest-cost Search","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-328-lowest-cost-search","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-328-lowest-cost-search","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b51000cf542c50ffc8","block":"project-euler","challengeType":5,"title":"Problem 329: Prime Frog","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-329-prime-frog","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-329-prime-frog","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b71000cf542c50ffc9","block":"project-euler","challengeType":5,"title":"Problem 330: Euler's Number","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-330-eulers-number","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-330-eulers-number","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b71000cf542c50ffca","block":"project-euler","challengeType":5,"title":"Problem 331: Cross flips","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-331-cross-flips","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-331-cross-flips","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b91000cf542c50ffcb","block":"project-euler","challengeType":5,"title":"Problem 332: Spherical triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-332-spherical-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-332-spherical-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4b91000cf542c50ffcc","block":"project-euler","challengeType":5,"title":"Problem 333: Special partitions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-333-special-partitions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-333-special-partitions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ba1000cf542c50ffcd","block":"project-euler","challengeType":5,"title":"Problem 334: Spilling the beans","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-334-spilling-the-beans","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-334-spilling-the-beans","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4bd1000cf542c50ffce","block":"project-euler","challengeType":5,"title":"Problem 335: Gathering the beans","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-335-gathering-the-beans","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-335-gathering-the-beans","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4bd1000cf542c50ffcf","block":"project-euler","challengeType":5,"title":"Problem 336: Maximix Arrangements","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-336-maximix-arrangements","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-336-maximix-arrangements","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4be1000cf542c50ffd0","block":"project-euler","challengeType":5,"title":"Problem 337: Totient Stairstep Sequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-337-totient-stairstep-sequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-337-totient-stairstep-sequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4be1000cf542c50ffd1","block":"project-euler","challengeType":5,"title":"Problem 338: Cutting Rectangular Grid Paper","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-338-cutting-rectangular-grid-paper","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-338-cutting-rectangular-grid-paper","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c01000cf542c50ffd2","block":"project-euler","challengeType":5,"title":"Problem 339: Peredur fab Efrawg","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-339-peredur-fab-efrawg","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-339-peredur-fab-efrawg","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c21000cf542c50ffd4","block":"project-euler","challengeType":5,"title":"Problem 340: Crazy Function","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-340-crazy-function","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-340-crazy-function","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c11000cf542c50ffd3","block":"project-euler","challengeType":5,"title":"Problem 341: Golomb's self-describing sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-341-golombs-self-describing-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-341-golombs-self-describing-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c31000cf542c50ffd5","block":"project-euler","challengeType":5,"title":"Problem 342: The totient of a square is a cube","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-342-the-totient-of-a-square-is-a-cube","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-342-the-totient-of-a-square-is-a-cube","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c41000cf542c50ffd6","block":"project-euler","challengeType":5,"title":"Problem 343: Fractional Sequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-343-fractional-sequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-343-fractional-sequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c51000cf542c50ffd7","block":"project-euler","challengeType":5,"title":"Problem 344: Silver dollar game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-344-silver-dollar-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-344-silver-dollar-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c81000cf542c50ffda","block":"project-euler","challengeType":5,"title":"Problem 345: Matrix Sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-345-matrix-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-345-matrix-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c71000cf542c50ffd8","block":"project-euler","challengeType":5,"title":"Problem 346: Strong Repunits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-346-strong-repunits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-346-strong-repunits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c81000cf542c50ffd9","block":"project-euler","challengeType":5,"title":"Problem 347: Largest integer divisible by two primes","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-347-largest-integer-divisible-by-two-primes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-347-largest-integer-divisible-by-two-primes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4c81000cf542c50ffdb","block":"project-euler","challengeType":5,"title":"Problem 348: Sum of a square and a cube","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-348-sum-of-a-square-and-a-cube","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-348-sum-of-a-square-and-a-cube","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ca1000cf542c50ffdc","block":"project-euler","challengeType":5,"title":"Problem 349: Langton's ant","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-349-langtons-ant","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-349-langtons-ant","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4cb1000cf542c50ffdd","block":"project-euler","challengeType":5,"title":"Problem 350: Constraining the least greatest and the greatest least","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-350-constraining-the-least-greatest-and-the-greatest-least","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-350-constraining-the-least-greatest-and-the-greatest-least","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4cb1000cf542c50ffde","block":"project-euler","challengeType":5,"title":"Problem 351: Hexagonal orchards","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-351-hexagonal-orchards","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-351-hexagonal-orchards","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4cd1000cf542c50ffdf","block":"project-euler","challengeType":5,"title":"Problem 352: Blood tests","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-352-blood-tests","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-352-blood-tests","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4cd1000cf542c50ffe0","block":"project-euler","challengeType":5,"title":"Problem 353: Risky moon","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-353-risky-moon","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-353-risky-moon","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4cf1000cf542c50ffe1","block":"project-euler","challengeType":5,"title":"Problem 354: Distances in a bee's honeycomb","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-354-distances-in-a-bees-honeycomb","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-354-distances-in-a-bees-honeycomb","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d01000cf542c50ffe2","block":"project-euler","challengeType":5,"title":"Problem 355: Maximal coprime subset","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-355-maximal-coprime-subset","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-355-maximal-coprime-subset","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d01000cf542c50ffe3","block":"project-euler","challengeType":5,"title":"Problem 356: Largest roots of cubic polynomials","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-356-largest-roots-of-cubic-polynomials","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-356-largest-roots-of-cubic-polynomials","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d11000cf542c50ffe4","block":"project-euler","challengeType":5,"title":"Problem 357: Prime generating integers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-357-prime-generating-integers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-357-prime-generating-integers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d21000cf542c50ffe5","block":"project-euler","challengeType":5,"title":"Problem 358: Cyclic numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-358-cyclic-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-358-cyclic-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d31000cf542c50ffe6","block":"project-euler","challengeType":5,"title":"Problem 359: Hilbert's New Hotel","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-359-hilberts-new-hotel","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-359-hilberts-new-hotel","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d41000cf542c50ffe7","block":"project-euler","challengeType":5,"title":"Problem 360: Scary Sphere","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-360-scary-sphere","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-360-scary-sphere","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d51000cf542c50ffe8","block":"project-euler","challengeType":5,"title":"Problem 361: Subsequence of Thue-Morse sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-361-subsequence-of-thue-morse-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-361-subsequence-of-thue-morse-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d61000cf542c50ffe9","block":"project-euler","challengeType":5,"title":"Problem 362: Squarefree factors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-362-squarefree-factors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-362-squarefree-factors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d91000cf542c50ffeb","block":"project-euler","challengeType":5,"title":"Problem 363: Bézier Curves","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-363-bzier-curves","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-363-bzier-curves","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4d91000cf542c50ffea","block":"project-euler","challengeType":5,"title":"Problem 364: Comfortable distance","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-364-comfortable-distance","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-364-comfortable-distance","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4da1000cf542c50ffec","block":"project-euler","challengeType":5,"title":"Problem 365: A huge binomial coefficient","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-365-a-huge-binomial-coefficient","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-365-a-huge-binomial-coefficient","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4da1000cf542c50ffed","block":"project-euler","challengeType":5,"title":"Problem 366: Stone Game III","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-366-stone-game-iii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-366-stone-game-iii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4db1000cf542c50ffee","block":"project-euler","challengeType":5,"title":"Problem 367: Bozo sort","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-367-bozo-sort","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-367-bozo-sort","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4dd1000cf542c50ffef","block":"project-euler","challengeType":5,"title":"Problem 368: A Kempner-like series","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-368-a-kempner-like-series","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-368-a-kempner-like-series","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4de1000cf542c50fff0","block":"project-euler","challengeType":5,"title":"Problem 369: Badugi","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-369-badugi","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-369-badugi","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4de1000cf542c50fff1","block":"project-euler","challengeType":5,"title":"Problem 370: Geometric triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-370-geometric-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-370-geometric-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e01000cf542c50fff2","block":"project-euler","challengeType":5,"title":"Problem 371: Licence plates","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-371-licence-plates","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-371-licence-plates","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e11000cf542c50fff3","block":"project-euler","challengeType":5,"title":"Problem 372: Pencils of rays","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-372-pencils-of-rays","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-372-pencils-of-rays","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e11000cf542c50fff4","block":"project-euler","challengeType":5,"title":"Problem 373: Circumscribed Circles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-373-circumscribed-circles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-373-circumscribed-circles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e51000cf542c50fff6","block":"project-euler","challengeType":5,"title":"Problem 374: Maximum Integer Partition Product","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-374-maximum-integer-partition-product","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-374-maximum-integer-partition-product","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e41000cf542c50fff5","block":"project-euler","challengeType":5,"title":"Problem 375: Minimum of subsequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-375-minimum-of-subsequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-375-minimum-of-subsequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e51000cf542c50fff7","block":"project-euler","challengeType":5,"title":"Problem 376: Nontransitive sets of dice","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-376-nontransitive-sets-of-dice","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-376-nontransitive-sets-of-dice","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e51000cf542c50fff8","block":"project-euler","challengeType":5,"title":"Problem 377: Sum of digits, experience 13","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-377-sum-of-digits-experience-13","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-377-sum-of-digits-experience-13","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e61000cf542c50fff9","block":"project-euler","challengeType":5,"title":"Problem 378: Triangle Triples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-378-triangle-triples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-378-triangle-triples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e81000cf542c50fffa","block":"project-euler","challengeType":5,"title":"Problem 379: Least common multiple count","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-379-least-common-multiple-count","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-379-least-common-multiple-count","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4e81000cf542c50fffb","block":"project-euler","challengeType":5,"title":"Problem 380: Amazing Mazes!","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-380-amazing-mazes","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-380-amazing-mazes","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ea1000cf542c50fffc","block":"project-euler","challengeType":5,"title":"Problem 381: (prime-k) factorial","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-381-prime-k-factorial","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-381-prime-k-factorial","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4eb1000cf542c50fffd","block":"project-euler","challengeType":5,"title":"Problem 382: Generating polygons","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-382-generating-polygons","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-382-generating-polygons","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ed1000cf542c50ffff","block":"project-euler","challengeType":5,"title":"Problem 383: Divisibility comparison between factorials","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-383-divisibility-comparison-between-factorials","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-383-divisibility-comparison-between-factorials","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ed1000cf542c50fffe","block":"project-euler","challengeType":5,"title":"Problem 384: Rudin-Shapiro sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-384-rudin-shapiro-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-384-rudin-shapiro-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ee1000cf542c510000","block":"project-euler","challengeType":5,"title":"Problem 385: Ellipses inside triangles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-385-ellipses-inside-triangles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-385-ellipses-inside-triangles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ef1000cf542c510001","block":"project-euler","challengeType":5,"title":"Problem 386: Maximum length of an antichain","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-386-maximum-length-of-an-antichain","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-386-maximum-length-of-an-antichain","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f11000cf542c510003","block":"project-euler","challengeType":5,"title":"Problem 387: Harshad Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-387-harshad-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-387-harshad-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f11000cf542c510002","block":"project-euler","challengeType":5,"title":"Problem 388: Distinct Lines","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-388-distinct-lines","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-388-distinct-lines","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f21000cf542c510004","block":"project-euler","challengeType":5,"title":"Problem 389: Platonic Dice","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-389-platonic-dice","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-389-platonic-dice","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f21000cf542c510005","block":"project-euler","challengeType":5,"title":"Problem 390: Triangles with non rational sides and integral area","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-390-triangles-with-non-rational-sides-and-integral-area","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-390-triangles-with-non-rational-sides-and-integral-area","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f31000cf542c510006","block":"project-euler","challengeType":5,"title":"Problem 391: Hopping Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-391-hopping-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-391-hopping-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f41000cf542c510007","block":"project-euler","challengeType":5,"title":"Problem 392: Enmeshed unit circle","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-392-enmeshed-unit-circle","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-392-enmeshed-unit-circle","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f61000cf542c510008","block":"project-euler","challengeType":5,"title":"Problem 393: Migrating ants","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-393-migrating-ants","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-393-migrating-ants","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f71000cf542c510009","block":"project-euler","challengeType":5,"title":"Problem 394: Eating pie","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-394-eating-pie","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-394-eating-pie","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f71000cf542c51000a","block":"project-euler","challengeType":5,"title":"Problem 395: Pythagorean tree","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-395-pythagorean-tree","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-395-pythagorean-tree","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f81000cf542c51000b","block":"project-euler","challengeType":5,"title":"Problem 396: Weak Goodstein sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-396-weak-goodstein-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-396-weak-goodstein-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4f91000cf542c51000c","block":"project-euler","challengeType":5,"title":"Problem 397: Triangle on parabola","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-397-triangle-on-parabola","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-397-triangle-on-parabola","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4fa1000cf542c51000d","block":"project-euler","challengeType":5,"title":"Problem 398: Cutting rope","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-398-cutting-rope","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-398-cutting-rope","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4fc1000cf542c51000e","block":"project-euler","challengeType":5,"title":"Problem 399: Squarefree Fibonacci Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-399-squarefree-fibonacci-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-399-squarefree-fibonacci-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4fe1000cf542c510010","block":"project-euler","challengeType":5,"title":"Problem 400: Fibonacci tree game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-400-fibonacci-tree-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-400-fibonacci-tree-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4fd1000cf542c51000f","block":"project-euler","challengeType":5,"title":"Problem 401: Sum of squares of divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-401-sum-of-squares-of-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-401-sum-of-squares-of-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f4ff1000cf542c510011","block":"project-euler","challengeType":5,"title":"Problem 402: Integer-valued polynomials","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-402-integer-valued-polynomials","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-402-integer-valued-polynomials","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5001000cf542c510013","block":"project-euler","challengeType":5,"title":"Problem 403: Lattice points enclosed by parabola and line","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-403-lattice-points-enclosed-by-parabola-and-line","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-403-lattice-points-enclosed-by-parabola-and-line","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5001000cf542c510012","block":"project-euler","challengeType":5,"title":"Problem 404: Crisscross Ellipses","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-404-crisscross-ellipses","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-404-crisscross-ellipses","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5021000cf542c510014","block":"project-euler","challengeType":5,"title":"Problem 405: A rectangular tiling","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-405-a-rectangular-tiling","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-405-a-rectangular-tiling","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5021000cf542c510015","block":"project-euler","challengeType":5,"title":"Problem 406: Guessing Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-406-guessing-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-406-guessing-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5041000cf542c510016","block":"project-euler","challengeType":5,"title":"Problem 407: Idempotents","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-407-idempotents","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-407-idempotents","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5091000cf542c51001b","block":"project-euler","challengeType":5,"title":"Problem 408: Admissible paths through a grid","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-408-admissible-paths-through-a-grid","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-408-admissible-paths-through-a-grid","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5061000cf542c510017","block":"project-euler","challengeType":5,"title":"Problem 409: Nim Extreme","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-409-nim-extreme","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-409-nim-extreme","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5071000cf542c510018","block":"project-euler","challengeType":5,"title":"Problem 410: Circle and tangent line","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-410-circle-and-tangent-line","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-410-circle-and-tangent-line","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5081000cf542c510019","block":"project-euler","challengeType":5,"title":"Problem 411: Uphill paths","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-411-uphill-paths","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-411-uphill-paths","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5081000cf542c51001a","block":"project-euler","challengeType":5,"title":"Problem 412: Gnomon numbering","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-412-gnomon-numbering","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-412-gnomon-numbering","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50a1000cf542c51001c","block":"project-euler","challengeType":5,"title":"Problem 413: One-child Numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-413-one-child-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-413-one-child-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50b1000cf542c51001d","block":"project-euler","challengeType":5,"title":"Problem 414: Kaprekar constant","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-414-kaprekar-constant","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-414-kaprekar-constant","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50c1000cf542c51001e","block":"project-euler","challengeType":5,"title":"Problem 415: Titanic sets","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-415-titanic-sets","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-415-titanic-sets","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50e1000cf542c510020","block":"project-euler","challengeType":5,"title":"Problem 416: A frog's trip","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-416-a-frogs-trip","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-416-a-frogs-trip","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50d1000cf542c51001f","block":"project-euler","challengeType":5,"title":"Problem 417: Reciprocal cycles II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-417-reciprocal-cycles-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-417-reciprocal-cycles-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f50f1000cf542c510021","block":"project-euler","challengeType":5,"title":"Problem 418: Factorisation triples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-418-factorisation-triples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-418-factorisation-triples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5101000cf542c510022","block":"project-euler","challengeType":5,"title":"Problem 419: Look and say sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-419-look-and-say-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-419-look-and-say-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5111000cf542c510023","block":"project-euler","challengeType":5,"title":"Problem 420: 2x2 positive integer matrix","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-420-2x2-positive-integer-matrix","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-420-2x2-positive-integer-matrix","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5131000cf542c510024","block":"project-euler","challengeType":5,"title":"Problem 421: Prime factors of n15+1","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-421-prime-factors-of-n151","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-421-prime-factors-of-n151","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5131000cf542c510025","block":"project-euler","challengeType":5,"title":"Problem 422: Sequence of points on a hyperbola","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-422-sequence-of-points-on-a-hyperbola","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-422-sequence-of-points-on-a-hyperbola","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5141000cf542c510027","block":"project-euler","challengeType":5,"title":"Problem 423: Consecutive die throws","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-423-consecutive-die-throws","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-423-consecutive-die-throws","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5141000cf542c510026","block":"project-euler","challengeType":5,"title":"Problem 424: Kakuro","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-424-kakuro","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-424-kakuro","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5151000cf542c510028","block":"project-euler","challengeType":5,"title":"Problem 425: Prime connection","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-425-prime-connection","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-425-prime-connection","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5171000cf542c510029","block":"project-euler","challengeType":5,"title":"Problem 426: Box-ball system","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-426-box-ball-system","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-426-box-ball-system","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5181000cf542c51002a","block":"project-euler","challengeType":5,"title":"Problem 427: n-sequences","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-427-n-sequences","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-427-n-sequences","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5191000cf542c51002b","block":"project-euler","challengeType":5,"title":"Problem 428: Necklace of Circles","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-428-necklace-of-circles","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-428-necklace-of-circles","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5191000cf542c51002c","block":"project-euler","challengeType":5,"title":"Problem 429: Sum of squares of unitary divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-429-sum-of-squares-of-unitary-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-429-sum-of-squares-of-unitary-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f51a1000cf542c51002d","block":"project-euler","challengeType":5,"title":"Problem 430: Range flips","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-430-range-flips","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-430-range-flips","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f51b1000cf542c51002e","block":"project-euler","challengeType":5,"title":"Problem 431: Square Space Silo","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-431-square-space-silo","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-431-square-space-silo","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f51e1000cf542c510030","block":"project-euler","challengeType":5,"title":"Problem 432: Totient sum","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-432-totient-sum","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-432-totient-sum","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f51d1000cf542c51002f","block":"project-euler","challengeType":5,"title":"Problem 433: Steps in Euclid's algorithm","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-433-steps-in-euclids-algorithm","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-433-steps-in-euclids-algorithm","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f51f1000cf542c510031","block":"project-euler","challengeType":5,"title":"Problem 434: Rigid graphs","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-434-rigid-graphs","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-434-rigid-graphs","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5201000cf542c510032","block":"project-euler","challengeType":5,"title":"Problem 435: Polynomials of Fibonacci numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-435-polynomials-of-fibonacci-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-435-polynomials-of-fibonacci-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5221000cf542c510033","block":"project-euler","challengeType":5,"title":"Problem 436: Unfair wager","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-436-unfair-wager","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-436-unfair-wager","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5241000cf542c510036","block":"project-euler","challengeType":5,"title":"Problem 437: Fibonacci primitive roots","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-437-fibonacci-primitive-roots","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-437-fibonacci-primitive-roots","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5231000cf542c510034","block":"project-euler","challengeType":5,"title":"Problem 438: Integer part of polynomial equation's solutions","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-438-integer-part-of-polynomial-equations-solutions","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-438-integer-part-of-polynomial-equations-solutions","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5231000cf542c510035","block":"project-euler","challengeType":5,"title":"Problem 439: Sum of sum of divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-439-sum-of-sum-of-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-439-sum-of-sum-of-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5241000cf542c510037","block":"project-euler","challengeType":5,"title":"Problem 440: GCD and Tiling","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-440-gcd-and-tiling","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-440-gcd-and-tiling","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5261000cf542c510038","block":"project-euler","challengeType":5,"title":"Problem 441: The inverse summation of coprime couples","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-441-the-inverse-summation-of-coprime-couples","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-441-the-inverse-summation-of-coprime-couples","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5271000cf542c510039","block":"project-euler","challengeType":5,"title":"Problem 442: Eleven-free integers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-442-eleven-free-integers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-442-eleven-free-integers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5271000cf542c51003a","block":"project-euler","challengeType":5,"title":"Problem 443: GCD sequence","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-443-gcd-sequence","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-443-gcd-sequence","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52a1000cf542c51003b","block":"project-euler","challengeType":5,"title":"Problem 444: The Roundtable Lottery","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-444-the-roundtable-lottery","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-444-the-roundtable-lottery","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52a1000cf542c51003c","block":"project-euler","challengeType":5,"title":"Problem 445: Retractions A","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-445-retractions-a","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-445-retractions-a","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52c1000cf542c51003d","block":"project-euler","challengeType":5,"title":"Problem 446: Retractions B","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-446-retractions-b","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-446-retractions-b","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52c1000cf542c51003e","block":"project-euler","challengeType":5,"title":"Problem 447: Retractions C","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-447-retractions-c","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-447-retractions-c","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52c1000cf542c51003f","block":"project-euler","challengeType":5,"title":"Problem 448: Average least common multiple","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-448-average-least-common-multiple","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-448-average-least-common-multiple","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52d1000cf542c510040","block":"project-euler","challengeType":5,"title":"Problem 449: Chocolate covered candy","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-449-chocolate-covered-candy","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-449-chocolate-covered-candy","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f52e1000cf542c510041","block":"project-euler","challengeType":5,"title":"Problem 450: Hypocycloid and Lattice points","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-450-hypocycloid-and-lattice-points","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-450-hypocycloid-and-lattice-points","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5311000cf542c510042","block":"project-euler","challengeType":5,"title":"Problem 451: Modular inverses","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-451-modular-inverses","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-451-modular-inverses","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5311000cf542c510043","block":"project-euler","challengeType":5,"title":"Problem 452: Long Products","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-452-long-products","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-452-long-products","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5311000cf542c510044","block":"project-euler","challengeType":5,"title":"Problem 453: Lattice Quadrilaterals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-453-lattice-quadrilaterals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-453-lattice-quadrilaterals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5331000cf542c510045","block":"project-euler","challengeType":5,"title":"Problem 454: Diophantine reciprocals III","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-454-diophantine-reciprocals-iii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-454-diophantine-reciprocals-iii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5331000cf542c510046","block":"project-euler","challengeType":5,"title":"Problem 455: Powers With Trailing Digits","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-455-powers-with-trailing-digits","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-455-powers-with-trailing-digits","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5351000cf542c510047","block":"project-euler","challengeType":5,"title":"Problem 456: Triangles containing the origin II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-456-triangles-containing-the-origin-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-456-triangles-containing-the-origin-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5361000cf542c510048","block":"project-euler","challengeType":5,"title":"Problem 457: A polynomial modulo the square of a prime","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-457-a-polynomial-modulo-the-square-of-a-prime","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-457-a-polynomial-modulo-the-square-of-a-prime","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5361000cf542c510049","block":"project-euler","challengeType":5,"title":"Problem 458: Permutations of Project","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-458-permutations-of-project","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-458-permutations-of-project","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5371000cf542c51004a","block":"project-euler","challengeType":5,"title":"Problem 459: Flipping game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-459-flipping-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-459-flipping-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5381000cf542c51004b","block":"project-euler","challengeType":5,"title":"Problem 460: An ant on the move","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-460-an-ant-on-the-move","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-460-an-ant-on-the-move","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53a1000cf542c51004c","block":"project-euler","challengeType":5,"title":"Problem 461: Almost Pi","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-461-almost-pi","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-461-almost-pi","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53b1000cf542c51004d","block":"project-euler","challengeType":5,"title":"Problem 462: Permutation of 3-smooth numbers","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-462-permutation-of-3-smooth-numbers","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53c1000cf542c51004e","block":"project-euler","challengeType":5,"title":"Problem 463: A weird recurrence relation","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-463-a-weird-recurrence-relation","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53d1000cf542c51004f","block":"project-euler","challengeType":5,"title":"Problem 464: Möbius function and intervals","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-464-mbius-function-and-intervals","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53d1000cf542c510050","block":"project-euler","challengeType":5,"title":"Problem 465: Polar polygons","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-465-polar-polygons","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-465-polar-polygons","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f53e1000cf542c510051","block":"project-euler","challengeType":5,"title":"Problem 466: Distinct terms in a multiplication table","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-466-distinct-terms-in-a-multiplication-table","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5411000cf542c510052","block":"project-euler","challengeType":5,"title":"Problem 467: Superinteger","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-467-superinteger","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-467-superinteger","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5411000cf542c510054","block":"project-euler","challengeType":5,"title":"Problem 468: Smooth divisors of binomial coefficients","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-468-smooth-divisors-of-binomial-coefficients","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5411000cf542c510053","block":"project-euler","challengeType":5,"title":"Problem 469: Empty chairs","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-469-empty-chairs","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-469-empty-chairs","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5431000cf542c510055","block":"project-euler","challengeType":5,"title":"Problem 470: Super Ramvok","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-470-super-ramvok","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-470-super-ramvok","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5431000cf542c510056","block":"project-euler","challengeType":5,"title":"Problem 471: Triangle inscribed in ellipse","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-471-triangle-inscribed-in-ellipse","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5451000cf542c510057","block":"project-euler","challengeType":5,"title":"Problem 472: Comfortable Distance II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-472-comfortable-distance-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-472-comfortable-distance-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5461000cf542c510058","block":"project-euler","challengeType":5,"title":"Problem 473: Phigital number base","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-473-phigital-number-base","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-473-phigital-number-base","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5471000cf542c510059","block":"project-euler","challengeType":5,"title":"Problem 474: Last digits of divisors","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-474-last-digits-of-divisors","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-474-last-digits-of-divisors","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5481000cf542c51005a","block":"project-euler","challengeType":5,"title":"Problem 475: Music festival","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-475-music-festival","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-475-music-festival","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f5481000cf542c51005b","block":"project-euler","challengeType":5,"title":"Problem 476: Circle Packing II","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-476-circle-packing-ii","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-476-circle-packing-ii","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f54a1000cf542c51005c","block":"project-euler","challengeType":5,"title":"Problem 477: Number Sequence Game","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-477-number-sequence-game","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-477-number-sequence-game","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f54c1000cf542c51005e","block":"project-euler","challengeType":5,"title":"Problem 478: Mixtures","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-478-mixtures","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-478-mixtures","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f54b1000cf542c51005d","block":"project-euler","challengeType":5,"title":"Problem 479: Roots on the Rise","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-479-roots-on-the-rise","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-479-roots-on-the-rise","blockName":"Project Euler"}}}},{"node":{"challenge":{"id":"5900f54c1000cf542c51005f","block":"project-euler","challengeType":5,"title":"Problem 480: The Last Question","order":4,"superBlock":"coding-interview-prep","dashedName":"problem-480-the-last-question","fields":{"slug":"/learn/coding-interview-prep/project-euler/problem-480-the-last-question","blockName":"Project Euler"}}}}]},"allCertificateNode":{"nodes":[{"challenge":{"certification":"back-end-development-and-apis","tests":[{"id":"bd7158d8c443edefaeb5bdef"},{"id":"bd7158d8c443edefaeb5bdff"},{"id":"bd7158d8c443edefaeb5bd0e"},{"id":"5a8b073d06fa14fcfde687aa"},{"id":"bd7158d8c443edefaeb5bd0f"}]}},{"challenge":{"certification":"data-analysis-with-python","tests":[{"id":"5e46f7e5ac417301a38fb928"},{"id":"5e46f7e5ac417301a38fb929"},{"id":"5e46f7f8ac417301a38fb92a"},{"id":"5e46f802ac417301a38fb92b"},{"id":"5e4f5c4b570f7e3a4949899f"}]}},{"challenge":{"certification":"data-visualization","tests":[{"id":"bd7168d8c242eddfaeb5bd13"},{"id":"bd7178d8c242eddfaeb5bd13"},{"id":"bd7188d8c242eddfaeb5bd13"},{"id":"587d7fa6367417b2b2512bbf"},{"id":"587d7fa6367417b2b2512bc0"}]}},{"challenge":{"certification":"front-end-development-libraries","tests":[{"id":"bd7158d8c442eddfaeb5bd13"},{"id":"bd7157d8c242eddfaeb5bd13"},{"id":"587d7dbc367417b2b2512bae"},{"id":"bd7158d8c442eddfaeb5bd17"},{"id":"bd7158d8c442eddfaeb5bd0f"}]}},{"challenge":{"certification":"information-security","tests":[{"id":"587d824a367417b2b2512c44"},{"id":"587d824a367417b2b2512c45"},{"id":"5e46f979ac417301a38fb932"},{"id":"5e46f983ac417301a38fb933"},{"id":"5e601c775ac9d0ecd8b94aff"}]}},{"challenge":{"certification":"javascript-algorithms-and-data-structures","tests":[{"id":"aaa48de84e1ecc7c742e1124"},{"id":"a7f4d8f2483413a6ce226cac"},{"id":"56533eb9ac21ba0edf2244e2"},{"id":"aff0395860f5d3034dc0bfc9"},{"id":"aa2e6f85cab2ab736c9a9b24"}]}},{"challenge":{"certification":"legacy-back-end","tests":[{"id":"bd7158d8c443edefaeb5bdef"},{"id":"bd7158d8c443edefaeb5bdff"},{"id":"bd7158d8c443edefaeb5bd0e"},{"id":"bd7158d8c443edefaeb5bdee"},{"id":"bd7158d8c443edefaeb5bd0f"},{"id":"bd7158d8c443eddfaeb5bdef"},{"id":"bd7158d8c443eddfaeb5bdff"},{"id":"bd7158d8c443eddfaeb5bd0e"},{"id":"bd7158d8c443eddfaeb5bd0f"},{"id":"bd7158d8c443eddfaeb5bdee"}]}},{"challenge":{"certification":"legacy-data-visualization","tests":[{"id":"bd7157d8c242eddfaeb5bd13"},{"id":"bd7156d8c242eddfaeb5bd13"},{"id":"bd7155d8c242eddfaeb5bd13"},{"id":"bd7154d8c242eddfaeb5bd13"},{"id":"bd7153d8c242eddfaeb5bd13"},{"id":"bd7168d8c242eddfaeb5bd13"},{"id":"bd7178d8c242eddfaeb5bd13"},{"id":"bd7188d8c242eddfaeb5bd13"},{"id":"bd7198d8c242eddfaeb5bd13"},{"id":"bd7108d8c242eddfaeb5bd13"}]}},{"challenge":{"certification":"legacy-front-end","tests":[{"id":"bd7158d8c242eddfaeb5bd13"},{"id":"bd7158d8c442eddfaeb5bd13"},{"id":"bd7158d8c442eddfaeb5bd0f"},{"id":"bd7158d8c442eddfaeb5bd17"},{"id":"bd7158d8c442eddfaeb5bd10"},{"id":"bd7158d8c442eddfaeb5bd1f"},{"id":"bd7158d8c442eddfaeb5bd18"},{"id":"bd7158d8c442eddfaeb5bd19"},{"id":"bd7158d8c442eedfaeb5bd1c"},{"id":"bd7158d8c442eddfaeb5bd1c"}]}},{"challenge":{"certification":"legacy-full-stack","tests":[{"id":"561add10cb82ac38a17513bc"},{"id":"561abd10cb81ac38a17513bc"},{"id":"561acd10cb82ac38a17513bc"},{"id":"5a553ca864b52e1d8bceea14"},{"id":"561add10cb82ac38a17523bc"},{"id":"561add10cb82ac38a17213bc"}]}},{"challenge":{"certification":"legacy-information-security-and-quality-assurance","tests":[{"id":"587d8249367417b2b2512c41"},{"id":"587d8249367417b2b2512c42"},{"id":"587d824a367417b2b2512c43"},{"id":"587d824a367417b2b2512c44"},{"id":"587d824a367417b2b2512c45"}]}},{"challenge":{"certification":"machine-learning-with-python","tests":[{"id":"5e46f8d6ac417301a38fb92d"},{"id":"5e46f8dcac417301a38fb92e"},{"id":"5e46f8e3ac417301a38fb92f"},{"id":"5e46f8edac417301a38fb930"},{"id":"5e46f8edac417301a38fb931"}]}},{"challenge":{"certification":"quality-assurance","tests":[{"id":"587d8249367417b2b2512c41"},{"id":"587d8249367417b2b2512c42"},{"id":"587d824a367417b2b2512c43"},{"id":"5e601bf95ac9d0ecd8b94afd"},{"id":"5e601c0d5ac9d0ecd8b94afe"}]}},{"challenge":{"certification":"relational-database","tests":[{"id":"5f1a4ef5d5d6b5ab580fc6ae"},{"id":"5f9771307d4d22b9d2b75a94"},{"id":"5f87ac112ae598023a42df1a"},{"id":"602d9ff222201c65d2a019f2"},{"id":"602da04c22201c65d2a019f4"}]}},{"challenge":{"certification":"responsive-web-design","tests":[{"id":"bd7158d8c442eddfaeb5bd18"},{"id":"587d78af367417b2b2512b03"},{"id":"587d78af367417b2b2512b04"},{"id":"587d78b0367417b2b2512b05"},{"id":"bd7158d8c242eddfaeb5bd13"}]}},{"challenge":{"certification":"scientific-computing-with-python","tests":[{"id":"5e44412c903586ffb414c94c"},{"id":"5e444136903586ffb414c94d"},{"id":"5e44413e903586ffb414c94e"},{"id":"5e444147903586ffb414c94f"},{"id":"5e44414f903586ffb414c950"}]}}]},"allMarkdownRemark":{"nodes":[{"fields":{"slug":"/learn/back-end-development-and-apis/"},"frontmatter":{"title":"Back End Development and APIs","superBlock":"back-end-development-and-apis"}},{"fields":{"slug":"/learn/coding-interview-prep/"},"frontmatter":{"title":"Coding Interview Prep","superBlock":"coding-interview-prep"}},{"fields":{"slug":"/learn/data-analysis-with-python/"},"frontmatter":{"title":"Data Analysis with Python","superBlock":"data-analysis-with-python"}},{"fields":{"slug":"/learn/data-visualization/"},"frontmatter":{"title":"Data Visualization","superBlock":"data-visualization"}},{"fields":{"slug":"/learn/front-end-development-libraries/"},"frontmatter":{"title":"Front End Development Libraries","superBlock":"front-end-development-libraries"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/"},"frontmatter":{"title":"JavaScript Algorithms and Data Structures","superBlock":"javascript-algorithms-and-data-structures"}},{"fields":{"slug":"/learn/quality-assurance/"},"frontmatter":{"title":"Quality Assurance","superBlock":"quality-assurance"}},{"fields":{"slug":"/learn/information-security/"},"frontmatter":{"title":"Information Security","superBlock":"information-security"}},{"fields":{"slug":"/learn/responsive-web-design/"},"frontmatter":{"title":"Responsive Web Design","superBlock":"responsive-web-design"}},{"fields":{"slug":"/learn/machine-learning-with-python/"},"frontmatter":{"title":"Machine Learning with Python","superBlock":"machine-learning-with-python"}},{"fields":{"slug":"/learn/relational-database/"},"frontmatter":{"title":"Relational Database","superBlock":"relational-database"}},{"fields":{"slug":"/learn/scientific-computing-with-python/"},"frontmatter":{"title":"Scientific Computing with Python","superBlock":"scientific-computing-with-python"}},{"fields":{"slug":"/learn/2022/responsive-web-design/"},"frontmatter":{"title":"Responsive Web Design","superBlock":"2022/responsive-web-design"}},{"fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/"},"frontmatter":{"title":"Introduction to the Back End Development and APIs Projects","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/"},"frontmatter":{"title":"Introduction to the Managing Packages with npm Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/"},"frontmatter":{"title":"Introduction to the MongoDB and Mongoose Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/coding-interview-prep/algorithms/"},"frontmatter":{"title":"Introduction to the Coding Interview Algorithms","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/data-structures/"},"frontmatter":{"title":"Introduction to the Coding Interview Data Structure Questions","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/project-euler/"},"frontmatter":{"title":"Introduction to the Project Euler Problems","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/rosetta-code/"},"frontmatter":{"title":"Introduction to the Rosetta Code Problems","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/"},"frontmatter":{"title":"Introduction to the Basic Node and Express Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/coding-interview-prep/take-home-projects/"},"frontmatter":{"title":"Introduction to the Coding Interview Take Home Projects","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/"},"frontmatter":{"title":"Introduction to the Data Analysis with Python Projects","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/"},"frontmatter":{"title":"Introduction to the Data Analysis with Python Course Lectures","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/data-visualization/d3-dashboard/"},"frontmatter":{"title":"Introduction to the D3 Dashboard","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/front-end-development-libraries/bootstrap/"},"frontmatter":{"title":"Introduction to the Bootstrap Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/data-visualization/data-visualization-projects/"},"frontmatter":{"title":"Introduction to the Data Visualization Projects","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/"},"frontmatter":{"title":"Introduction to the Data Visualization with D3 Challenges","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/"},"frontmatter":{"title":"Introduction to the JSON APIs and AJAX Challenges","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/"},"frontmatter":{"title":"Introduction to the Front End Development Libraries Projects","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/jquery/"},"frontmatter":{"title":"Introduction to jQuery","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/"},"frontmatter":{"title":"Introduction to the React and Redux Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/data-analysis-with-python/numpy/"},"frontmatter":{"title":"Introduction to the Numpy Lectures","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/front-end-development-libraries/react/"},"frontmatter":{"title":"Introduction to the React Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/sass/"},"frontmatter":{"title":"Introduction to the Sass Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/information-security/information-security-projects/"},"frontmatter":{"title":"Introduction to the Information Security Projects","superBlock":"Information Security"}},{"fields":{"slug":"/learn/front-end-development-libraries/redux/"},"frontmatter":{"title":"Introduction to the Redux Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/information-security/information-security-with-helmetjs/"},"frontmatter":{"title":"Introduction to Information Security with HelmetJS Challenges","superBlock":"Information Security"}},{"fields":{"slug":"/learn/information-security/python-for-penetration-testing/"},"frontmatter":{"title":"Introduction to the Python for Penetration Testing Lectures","superBlock":"Information Security"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/"},"frontmatter":{"title":"Introduction to Basic Algorithm Scripting","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/"},"frontmatter":{"title":"Introduction to the Basic Data Structure Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript-rpg-game/"},"frontmatter":{"title":"Introduction to the Basic JavaScript RPG Game","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/"},"frontmatter":{"title":"Introduction to JavaScript","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/"},"frontmatter":{"title":"Introduction to the ES6 Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming-spreadsheet/"},"frontmatter":{"title":"Introduction to the Functional Programming Spreadsheet","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/"},"frontmatter":{"title":"Introduction to the Intermediate Algorithm Scripting Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/"},"frontmatter":{"title":"Introduction to the Debugging Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/"},"frontmatter":{"title":"Introduction to the Intermediate JavaScript Calorie Counter","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/"},"frontmatter":{"title":"Introduction to the JavaScript Algorithms and Data Structures Projects","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/"},"frontmatter":{"title":"Introduction to the Functional Programming Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/"},"frontmatter":{"title":"Introduction to the Object Oriented Programming Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/"},"frontmatter":{"title":"Introduction to the Advanced Node and Express Challenges","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/"},"frontmatter":{"title":"Introduction to the Regular Expression Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/"},"frontmatter":{"title":"Introduction to the Quality Assurance Projects","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/"},"frontmatter":{"title":"Introduction to the Quality Assurance with Chai Challenges","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/responsive-web-design/applied-visual-design/"},"frontmatter":{"title":"Introduction to the Applied Visual Design Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/applied-accessibility/"},"frontmatter":{"title":"Introduction to the Applied Accessibility Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/css-flexbox/"},"frontmatter":{"title":"Introduction to the CSS Flexbox Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/"},"frontmatter":{"title":"Introduction to Basic HTML and HTML5","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/basic-css/"},"frontmatter":{"title":"Introduction to Basic CSS","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/responsive-web-design-projects/"},"frontmatter":{"title":"Introduction to the Responsive Web Design Projects","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/css-grid/"},"frontmatter":{"title":"Introduction to the CSS Grid Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/"},"frontmatter":{"title":"Introduction to the Machine Learning Projects","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/machine-learning-with-python/tensorflow/"},"frontmatter":{"title":"Introduction to the TensorFlow Lectures","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/"},"frontmatter":{"title":"Introduction to the How Neural Networks Work Lectures","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/relational-database/learn-relational-databases/"},"frontmatter":{"title":"Introduction to Relational Databases","superBlock":"Relational Database"}},{"fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/"},"frontmatter":{"title":"Introduction to the Responsive Web Design Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/"},"frontmatter":{"title":"Introduction to Python for Everybody","superBlock":"Scientific Computing with Python"}},{"fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/"},"frontmatter":{"title":"Introduction to the Scientific Computing with Python Projects","superBlock":"Scientific Computing with Python"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/"},"frontmatter":{"title":"Introduction to the Learn Accessibility by Building a Quiz Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/"},"frontmatter":{"title":"Introduction to the Learn Basic CSS by Building a Cafe Menu Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/"},"frontmatter":{"title":"Introduction to the Learn CSS Colors by Building a Set of Colored Markers Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/"},"frontmatter":{"title":"Introduction to the Learn CSS Animation by Building a Ferris Wheel Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/"},"frontmatter":{"title":"Introduction to the Learn CSS Transforms by Building a Penguin","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/"},"frontmatter":{"title":"Introduction to the Learn CSS Variables by Building a City Skyline Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/"},"frontmatter":{"title":"Introduction to the Learn CSS Grid by Building a Magazine Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/"},"frontmatter":{"title":"Introduction to the Learn CSS Flexbox by Building a Photo Gallery Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/"},"frontmatter":{"title":"Introduction to the Learn HTML Forms by Building a Registration Form Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/"},"frontmatter":{"title":"Introduction to the Learn Intermediate CSS by Building a Picasso Painting Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/"},"frontmatter":{"title":"Introduction to the Learn HTML by Building a Cat Photo App Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/"},"frontmatter":{"title":"Introduction to the Learn Responsive Web Design by Building a Piano Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/"},"frontmatter":{"title":"Introduction to the Learn the CSS Box Model by Building a Rothko Painting Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/"},"frontmatter":{"title":"Introduction to the Learn More About CSS Pseudo Selectors By Building A Balance Sheet","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/"},"frontmatter":{"title":"Introduction to the Learn Typography by Building a Nutrition Label Project","superBlock":"Responsive Web Design"}}]}}}