Giter Club home page Giter Club logo

algorithm-study's Introduction

๐Ÿ“™ algorithm-study

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ์‚ฌ์ดํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค https://programmers.co.kr/learn/challenges
๋ฐฑ์ค€ https://www.acmicpc.net/problem/tags
CodeUp https://codeup.kr/
Codility https://app.codility.com/programmers/
์˜จ์ฝ”๋” https://www.oncoder.com/
๊ตฌ๋ฆ„ https://codingtest.goorm.io/

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ๊ฐ„์ฆ๊ธ€

๋ฐ•ํŠธ๋ฆฌ๋‹˜ PS๊ณต๋ถ€๋ฒ• https://baactree.tistory.com/52
์–ธ์–ด์„ ํƒ https://www.acmicpc.net/board/view/24568

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•

๋จผ์ € ๋ณธ์ธ์—๊ฒŒ ๋ถ€์กฑํ•œ ์Šคํ‚ฌ์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ

  • ๊ตฌํ˜„๋ ฅ

    • ๋ณธ์ธ์ด ์ƒ๊ฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ทธ๋Œ€๋กœ ์†Œ์Šค์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ
    • ํ”„๋กœ๊ทธ๋žจ ์ˆœ์„œ๋„, ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •ํ•˜๋Š” ๊ณผ์ •
    • ์ด ์Šคํ‚ฌ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š”์ง€๋ฅผ ๋ช…ํ™•ํžˆ ํ•ด์•ผํ•œ๋‹ค
    • ๋ฌด์—‡์„ ์ž…๋ ฅ๋ฐ›์•„ ์–ด๋””์— ์ €์žฅํ•˜๊ณ  ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋กœ ๋ฌด์—‡์„ ์–ป๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์–ด๋–ค ๊ฒฐ๊ณผ๋ฌผ์„ ์ถœ๋ ฅํ•˜๋Š”์ง€ ์ˆœ์„œ๋„๋ฅผ ์ ์€ ํ›„ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ์ €์žฅํ• ์ง€ ์ƒ๊ฐํ•˜๋Š” ์—ฐ์Šต์„ ํ•˜์ž.
  • ๋ฌธ์ œํ•ด๊ฒฐ๋Šฅ๋ ฅ

    • ์•Œ๊ณ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ๊ตฌ์กฐ, ํ…Œํฌ๋‹‰์„ ๋‹น๋ฉดํ•œ ๋ฌธ์ œ์— ๋งž๊ฒŒ ๋ณ€ํ˜• ์ ์šฉํ•˜๋Š” ๊ฒƒ
    • ๋ฌธ์ œ๋ฅผ ์ฐฝ์˜์ ์ธ ์‹œ๊ฐ์—์„œ ์ ‘๊ทผํ•ด ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”
    • ์ค‘์œ„๊ถŒ์—์„œ ์ƒ์œ„๊ถŒ์œผ๋กœ ๊ฐˆ ๋•Œ ๋ฐœ๋ชฉ์žก๋Š” ์Šคํ‚ฌ
    • ์ด ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ• ์ง€, ๋ง‰์ƒ ์†”๋ฃจ์…˜์€ ๋‚ด๊ฐ€ ์•„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜,์ž๋ฃŒ๊ตฌ์กฐ ์ธ ์ƒํ™ฉ์ด ์—ฐ์ถœ๋œ๋‹ค
    • ์ด ์Šคํ‚ฌ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ์–‘์งˆ์˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ, ์ด์ „์— ๋ณธ์ธ์ด ์ ‘๊ทผํ•œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ž˜ ์ •๋ฆฌ ํ•ด๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค
  • ๋ฐฐ๊ฒฝ์ง€์‹

    • ๊ธฐ์ดˆ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ๊ตฌ์กฐ, ์„ ํ˜•๋Œ€์ˆ˜๋‚˜ ํ™•๋ฅ  ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜ํ•™์  ์ง€์‹ (๊ฐ€๋” ํ•˜๋“œ์›จ์–ด, OS ์ง€์‹)
    • ์ด ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๋ฉด ์†”๋ฃจ์…˜์„ ์—ด์—ˆ์„๋•Œ ์™ธ๊ณ„์–ด๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋œ๋‹ค.
  • ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋‚ด์— ๋ฌธ์ œํ’€๋•Œ ๋ฌธ์ œ ์ดํ•ด์‹œ๊ฐ„/ํ’€์ด ์ƒ๊ฐ์‹œ๊ฐ„/์ฝ”๋”ฉ์‹œ๊ฐ„/๋””๋ฒ„๊น…์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๋ฉฐ ์–ด๋–ค ๋ถ€๋ถ„์ด ๊ตฌ์ฒด์ ์œผ๋กœ ๋ถ€์กฑํ•œ์ง€ ์ธ์ง€ํ•ด์„œ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์— ๋” ๋…ธ๋ ฅ์„ ๋“ค์ด๊ธฐ๋กœ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ‚ฌ์„ ๋Š˜๋ฆฌ๊ธฐ์œ„ํ•œ ๊ณต๋ถ€ ์ˆœ์„œ

  1. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€๋ จ ์ด๋ก ์„ ๊ณต๋ถ€ํ•ด ์ดํ•ดํ•œ๋‹ค.
  1. ์ด๋ก ๊ณผ ๊ด€๋ จ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค.
  • ex) ํ•ด์‰ฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฌธ์ œ, ๋ฐฐ์—ด์„ ์ด์šฉํ•˜๋Š” ๋ฌธ์ œ
  • ๋ฌธ์ œ์˜ ๋ ˆ๋ฒจ์ด๋‚˜ ์ž์‹ ์˜ ๋ˆˆ๋†’์ด์— ๋งž์ถ”์–ด ์ ๋‹นํ•œ ์‹œ๊ฐ„์„ ์ •ํ•ด๋†“๊ณ  ํ‘ผ๋‹ค.
  • ๋‚œ์ด๋„์— ๋”ฐ๋ผ 60๋ถ„~120๋ถ„์ด ์ ๋‹นํ•˜๋‹ค. (2์‹œ๊ฐ„ ์ด์ƒ ๋„˜๊ธฐ์ง€ ์•Š๋Š”๋‹ค)
  • ์‹œ๊ฐ„์„ ์ ์  ๋‹จ์ถ•์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณต๋ถ€ํ•ด์•ผ ์‹ค์ „์— ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์งˆ๋ฌธํ•˜๊ฑฐ๋‚˜ ํ’€์ด๋ฅผ ๋ณธ๋‹ค.
  • ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ์–ด๋””์—์„œ ๋ง‰ํ˜”๋Š”์ง€ ํ˜น์€ ์ž์‹ ์ด ๋ฌด์—‡์„ ๋ชจ๋ฅด๊ณ  ์žˆ๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ์•„์•ผ ํ•ด๋ฒ•์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ด€๋ จ๋œ ์ด๋ก  ์ฐธ๊ณ ํ•˜๊ธฐ, ์ •๋‹ต ์†Œ์Šค ๋ณด๊ธฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ํ’€์ด ๋ณด๊ธฐ
  • ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ ๊ฑด ์ฃผ์œ„ ์‚ฌ๋žŒ๋“ค ํ˜น์€ ๊นƒํ—ˆ๋ธŒ์— issue๋ฅผ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ pull request๋ฅผ ๋‚ ๋ ค์„œ ์งˆ๋ฌธํ•˜์ž
  • ์‰ฌ์šด๊ฒƒ๊ฐ™์€ ๋ฌธ์ œ๋„ ๊ดœ์ฐฎ์œผ๋‹ˆ ๋ง์„ค์ด์ง€ ๋ง๊ณ  ์งˆ๋ฌธํ•˜์ž. ์ง€ํ˜œ๋ฅผ ๋ชจ์œผ๋ฉด ๋” ์ข‹์€ ์†”๋ฃจ์…˜์„ ๋ฐœ๊ฒฌ.
  1. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ดํ•ดํ•˜๊ณ  ๋‹ค์‹œ ํ‘ผ๋‹ค.
  • ํ”ผ๋“œ๋ฐฑ์„ ์ ์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค.
  • ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ๋ฐ›์€ ํ”ผ๋“œ๋ฐฑ๊ณผ ์ฝ”๋“œ์— ์ž์‹ ์ด ์ ์šฉํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด์„œ README.md์— ์ž‘์„ฑํ•˜๊ณ  source/ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ํด๋”์— ์—…๋กœ๋“œํ•œ๋‹ค.
  • ์ฝ”๋“œ์— ์ฃผ์„์„ ๋‹ฌ๋ฉด ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ๋‹ค์‹œ ๋ณผ ๋•Œ ๋น ๋ฅธ ์ดํ•ด์— ๋„์›€์ด ๋œ๋‹ค.

* ๋ฐ˜๋“œ์‹œ ์ง€ํ‚ค๋Š”๊ฒƒ ๋ณด๋‹จ ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ๊ณต๋ถ€๋ฒ•์„ ์ฐพ์•„๊ฐ€์ž

ํŒ€์› ์Šคํ„ฐ๋”” ์ง„ํ–‰ ๋ฐฉ๋ฒ•

์˜จ๋ผ์ธ ์Šคํ„ฐ๋””

  1. ์›”์š”์ผ๋งˆ๋‹ค ํŒ€ ๊ณตํ†ต๋ฌธ์ œ ์ถœ์ œ

    • ex) ๊ตฌํ˜„๋ ฅ ๋ฌธ์ œ + DP ๋ฌธ์ œ
  2. ์‹œ๊ฐ„ ์ •ํ•ด๋‘๊ณ  ๋ฌธ์ œํ’€๊ธฐ

    • ์‹œํ—˜ ์‹ค์ „๋Œ€๋น„๋ฅผ ์œ„ํ•ด ์‹œ๊ฐ„์„ ์ •ํ•ด๋‘๊ณ  ํ‘ธ๋Š”๊ฒƒ์„ ๊ถŒ์žฅ (์ตœ๋Œ€2์‹œ๊ฐ„)
  3. ๋ฌธ์ œํ’€์ด ๋งˆํฌ๋‹ค์šด ์ž‘์„ฑํ›„ ์—…๋กœ๋“œํ•˜๊ธฐ. (๊ฐœ์ธํด๋”์— ์ž‘์—…ํ›„ master branch์— merge)

  4. ์ฃผ๋ง์— ์˜จ๋ผ์ธ ํ”ผ๋“œ๋ฐฑ ์ง„ํ–‰. ์•ฝ 2์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

  5. ๋ชจ๋“  ์งˆ๋ฌธ์€ slack, issue, pull request ๋“ฑ ์ž์œ ๋กญ๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์˜คํ”„๋ผ์ธ ์Šคํ„ฐ๋””

  1. ์ฃผ 1ํšŒ ์Šคํ„ฐ๋””๋ฃธ์ด๋‚˜ ์นดํŽ˜์—์„œ ๋งŒ๋‚˜ ์•ฝ 2~3์‹œ๊ฐ„ ์ง„ํ–‰ํ•œ๋‹ค.
  2. ํŒ€์›๋“ค์—๊ฒŒ ์ž์‹ ์ด ๊ณต๋ถ€ํ•œ ์ด๋ก ์ด๋‚˜ ์ง์ ‘ ํ‘ผ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
    • ์ด๋•Œ ํŒ€์›๋“ค์˜ ๋„์›€ ํ˜น์€ ํ”ผ๋“œ๋ฐฑ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ •๋ฆฌํ•ด์„œ ๋ฏธ๋ฆฌ issue ํ˜น์€ Pull Request๋ฅผ ๋‚ ๋ฆฐ ํ›„ ๋‹จํ†ก์— ์–ธ๊ธ‰
    • ํŒ€์›๋“ค์€ ๋ฐ˜๋“œ์‹œ ๋ฏธํŒ… ์ „๊นŒ์ง€ ์งˆ๋ฌธ ๋‚ด์šฉ๊ณผ ๋‹ต๋ณ€ ์ˆ™์ง€ํ•˜๊ธฐ.
  3. ๋ฏธํŒ…์ด ๋๋‚˜๊ณ  ๊ฐ์ž ์œ„์˜ 4๋ฒˆ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ดํ•ดํ•˜๊ณ  ๋‹ค์‹œ ํ‘ผ๋‹ค ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

Git ์ €์žฅ์†Œ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

ํด๋” ์„ค๋ช…

  • contents: ๊ณต๋™ํด๋”. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€๋ จ ์ด๋ก ์„ ์ •๋ฆฌํ•ด์„œ ์—…๋กœ๋“œํ•˜๋Š” ํด๋”
  • docs: ๊ณต๋™ํด๋”. ์ด๋ก  ์ด์™ธ์˜ ๋ฌธ์„œ๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ํด๋”
  • source: ๊ฐœ์ธ ํด๋”. ํ•„์š”ํ•œ ๊ฐœ์ธํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ํด๋”

GitBash ๋ช…๋ น์–ด ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์›๊ฒฉ์ €์žฅ์†Œ ๋กœ์ปฌ์— ๊ฐ€์ ธ์˜ค๊ธฐ

git clone https://github.com/TheCopiens/algorithm-study.git

๋กœ์ปฌ์—์„œ ๊ฐœ์ธ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ธฐ

local workspace์— 'ohhako'๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
git branch ohhako

๋กœ์ปฌ์—์„œ ๋ธŒ๋žœ์น˜ ์ž‘์—…ํ›„ ์›๊ฒฉ์ €์žฅ์†Œ์— ๋ฐ˜์˜ํ•˜๊ธฐ

๋กœ์ปฌ ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋Š” ํด๋”์—์„œ ๊ฐœ์ธ์ž‘์—…์„ ๋งˆ์นœ ํ›„ ๊ณต๋™ ์ €์žฅ์†Œ์— ๋ฐ˜์˜ํ•œ๋‹ค.

  1. git checkout ohhako - master์—์„œ ohhako ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜
  2. workspace์—์„œ ์ž‘์—…
  3. git commit -m "message"
  4. git push origin ohhako - ์›๊ฒฉ์ €์žฅ์†Œ ohhako ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜
  5. git checkout master - ๋ธŒ๋žœ์น˜ ์ „ํ™˜
  6. git pull - ์›๊ฒฉ์ €์žฅ์†Œ master์˜ ์ตœ์‹  ์ •๋ณด๋ฅผ ๋กœ์ปฌ์— ์—…๋ฐ์ดํŠธ ์‹œํ‚ค๊ธฐ
  7. git merge ohhako - master์— ohhako ๋ธŒ๋žœ์น˜ ์ž‘์—… ๋ฐ˜์˜
  8. git push origin master - ์›๊ฒฉ์ €์žฅ์†Œ master์— ๋ฐ˜์˜



์ด ๊ธ€์€ ์•„๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.