Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編

LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編

LINEヤフー株式会社公式YouTubeの「LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編(https://www.youtube.com/watch?v=ny0kPAzV7lM)」にて使用している資料です

More Decks by LINEヤフー株式会社 採用情報

Other Decks in Technology

Transcript

  1. ˜-:$PSQPSBUJPO ‒ ຊࢿྉʹ͍ͭͯ • ެࣜ:PV5VCFͷίʔσΟϯάςετղઆಈըʹͯ࢖༻͍ͯ͠Δࢿྉ͕ϕʔεʹͳ͓ͬͯΓ·͢ɻ • ຊࢿྉ͸σʔλαΠΤϯείʔεͷΞϧΰϦζϜ໰୊ʹ΋Ԡ༻͍͚ͨͩΔ಺༰Ͱ͢ɻ ‒ ֤ίʔεͷίʔσΟϯάςετ •

    క੾࣌ؒɺ಺༰ʹ͓͖·ͯ͠͸डݧ͢ΔίʔεʹΑͬͯҟͳΓ·͢ͷͰ༧Ίྃ͝ঝ͍ͩ͘͞ɻ ‒ 3F$IBMMFOHF੍౓ • Ұ౓ෆ߹֨ʹͳͬͯ͠·ͬͨ৔߹Ͱ΋ɺ࣍ͷλʔϜͰ࠶౓ίʔσΟϯάςετʹ௅ઓ͢Δ͜ͱ͕ Ͱ͖·͢ɻৄࡉ͸࠾༻)1ͷબߟ৘ใʹͯ֬͝ೝ͍ͩ͘͞ɻ  ͸͡Ίʹ
  2. ˜-:$PSQPSBUJPO ‒ େલఏɿ࣮֬ʹಈ࡞͢ΔΞϧΰϦζϜ ‒ ਖ਼౴཰͸ॏཁ ‒ ίʔυ͕ଞਓʹݟΒΕΔͱ͍͏ҙࣝ΋ಉ͘͡ॏཁ • ࠷ޙʹνΣοΫ͢Δͷ͸ਓؒ •

    কདྷνʔϜͰҰॹʹಇ͔͘΋͠Εͳ͍ • ఏग़ޙʹ޻෉ͨ͠ϙΠϯτͷઆ໌Λ௥ՃՄೳ • ίʔυͰࣗ෼ΛΞϐʔϧͰ͖Δ  ղ͘ͱ͖ͷϙΠϯτ
  3. ˜-:$PSQPSBUJPO ‒ શମͷຬ଍౓͕࠷େԽ͞ΕΔΑ͏ʹՖՐେձͷ੮ΛׂΓ౰ͯΔ ‒ ༩͑ΒΕΔύϥϝʔλ • νʔϜ਺𝒏 ֤νʔϜͷਓ਺: a!, …

    , a" ՖՐେձͷ੮ͱఆһ • શମͷຬ଍౓ʹؔ͢Δύϥϝʔλx, y, z ʹຬ଍౓ɿ ∑# (+za#/−za#) − xm − y(k − 1)  ࣮ࡍͷΞϧΰϦζϜ໰୊ͷྫ                 νʔϜͷ੮͕ ͋Δͳ͍ ଞνʔϜͱྡ઀ ͢ΔͱϖφϧςΟ ಉνʔϜͱ෼ׂ ͞ΕΔͱϖφϧςΟ ลͷ਺ ෼ׂ਺ ຬ଍౓͕ߴ͘ͳΔΑ͏ ׂΓ౰͍ͯͯ͘ ˞࠲੮ͱఆһ
  4. ˜-:$PSQPSBUJPO ‒ " # $νʔϜʢ  ਓʣΛׂΓ౰ͯΔ ‒ ύϥϝʔλ 𝒛𝟏

    𝒙𝒚𝟎 ຬ଍౓ɿ ∑! (+za_i /−za_i) − xm − y(k − 1) ‒ 𝒊 νʔϜ໨·Ͱ഑ஔ͠ɺ࢒Γͷ࠲੮ද͕ 𝒋 ͷͱ͖ͷ࠷େͷຬ଍౓ͱͯ͠𝐃𝐏<𝒊 𝒋>Λߟ͑ͯΈΔ  ղ͖ํͷྫɿಈతܭը๏             ഑ஔʹؔͯ͠ϖφϧςΟͳ͠ i = 0, j =
  5. ˜-:$PSQPSBUJPO ‒ " # $νʔϜʢ  ਓʣΛׂΓ౰ͯΔ ‒ ·ͣ"νʔϜΛ഑ஔͯ͠ΈΔ 

    ղ͖ํͷྫɿಈతܭը๏ "   "         ഑ஔʹؔͯ͠ϖφϧςΟͳ͠ͳͷͰͲ͜ʹ͓͍ͯ΋ຬ଍౓ i = A, j =       "      i = A, j =    " "        i = A, j = ⋯
  6. ˜-:$PSQPSBUJPO ‒ #νʔϜΛ഑ஔͯ͠ΈΔ  ղ͖ํͷྫɿಈతܭը๏ "   " 

     #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ϖφϧςΟͳ͠ͳͷͰ Ͳ͜ʹ͓͍ͯ΋ຬ଍౓̓
  7. ˜-:$PSQPSBUJPO ‒ #νʔϜΛ഑ஔͯ͠ΈΔ  ղ͖ํͷྫɿಈతܭը๏ i = B, j =

    ⋯ ⋯ ϖφϧςΟͳ͠ͳͷͰ Ͳ͜ʹ͓͍ͯ΋ຬ଍౓̓ "   "   #          #  "      #   " "        "   "  #            # "         " "  #      ࠷ޙͷνʔϜ·Ͱ܁Γฦ͠ຬ଍౓࠷େͷ഑ஔΛ୳ࡧ
  8. ˜-:$PSQPSBUJPO ‒ ྫ͑͹𝒙𝟏𝟎 ଞνʔϜͱྡΓ߹͏ͱϖφϧςΟͷ৔߹  ഑ஔͷϖφϧςΟ͕͋Δ৔߹ "   "

      #      i = B, j =     #  "      #   " "        "   "  #            # "         " "  #      ⋯ ⋯ ຬ଍౓  ຬ଍౓  ຬ଍౓ 
  9. ˜-:$PSQPSBUJPO ‒ ྫ͑͹𝒙𝟏𝟎 ଞνʔϜͱྡΓ߹͏ͱϖφϧςΟͷ৔߹  ഑ஔͷϖφϧςΟ͕͋Δ৔߹ i = B, j

    = ⋯ ⋯ ຬ଍౓  ຬ଍౓  ຬ଍౓  "   "   #          #  "      #   " "        "   "  #            # "         " "  #      ద੾ͳྡ઀ɺ෼ׂͷ൑ఆ͕ඞཁ
  10. ˜-:$PSQPSBUJPO ‒ ੍໿৚݅Λద੾ʹॲཧ͠ͳ͕Βू߹ʹର͢Δಈతܭը๏ʹج͍ͮͨΞϧΰϦζϜΛߏங͢Δ ‒ ࣮ࡍͷςετͷྲྀΕ • ςετத͸ެ։ςετηοτͰ͍ͭͰ΋࠾఺Ͱ͖·͢ • ੍໿৚݅ʹґଘ͢Δ೉қ౓͝ͱʹ෦෼఺͕༩͑ΒΕ·͢ •

    ϝϞϦ੍໿ɺεϐʔυ੍໿ɺඞཁͳΞϧΰϦζϜͳͲɺ೉қ౓͝ͱͷςετέʔε͕ଘࡏ • ՖՐେձͷྫͰ͸ɺଞνʔϜͱͷ࿈݁ɺಉνʔϜͷ෼ׂͳͲͷύϥϝʔλͰௐ੔ • ΋ͪΖΜຬ఺͕औΕΕ͹Α͍͕ɺ࣮֬ʹ෦෼఺Λ֫ಘ͢Δ࡞ઓ΋ • ͲͷΑ͏ͳࢹ఺ͰΞϧΰϦζϜΛઃܭ͔ͨ͠ɺఏग़ޙͷ௥Ճઆ໌΋෇༩Ͱ͖·͢  ΞϧΰϦζϜ໰୊ͷྫɿՖՐେձ
  11. ˜-:$PSQPSBUJPO ‒ ΞϧΰϦζϜ΍σʔλߏ଄ͷڭՊॻΛಡΈ௚ͯ͠ΈΔ • ಥഥࢠ΋ͳ͍໰୊͸ͳΔ΂͘ग़͞ͳ͍Α͏ʹ͍ͯ͠·͢ ‒ ίʔσΟϯάςετͷγεςϜʹ׳ΕΔ • ࢼݧதʹ͋Θͯͳ͍Α͏ʹ •

    νϡʔτϦΞϧͰຊ൪ͷงғؾΛ஌͓ͬͯ͘ ‒ ࠔͬͨΒΠϯλʔωοτͰௐ΂Δ ‒ ৺ʹ༨༟͕͋Δͱ͖ʹऔΓֻ͔Δ • ϦϥοΫεͯ͠ຊདྷͷ࣮ྗΛʂ  ରࡦ΍৺ߏ͑