avatar

Algorithm 3

  • Codility - Tape Equilibrium

    ## Tape Equilibrium ### ๋ฌธ์ œ ๊ธธ์ด N์˜ ๋ฐฐ์—ด์„ ์ž„์˜๋กœ ๋‘๊ฐœ๋กœ ์ชผ๊ฐœ๊ณ , ์ด๋ ‡๊ฒŒ ํ•ด์„œ ์ƒ๊ธด ๋‘๋ฐฐ์—ด์˜ ํ•ฉ์„ ๊ฐ๊ฐ ๊ตฌํ• ๋•Œ, ์ด ์„œ๋กœ ๋‘ํ•ฉ์˜ ์ฐจ์ด๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋ผ. ``` A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 4 A[4] = 3 ์ด๊ฒฝ์šฐ ๋„ค๊ฐ€์ง€๋กœ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋Š”๋ฐ P = 1, difference = |3 โˆ’ ...

    2๋ถ„
  • Codility - Perm Check

    ## Perm Check ### ๋ฌธ์ œ ๊ธธ์ด N์ธ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ ธ ์žˆ๊ณ , ์•ˆ์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. ์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ˆซ์ž๊ฐ€ ์—ฐ์†ํ•˜๋Š” ์ˆซ์ž๋ฉด true, ์•„๋‹ˆ๋ผ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•˜๋ผ. ``` A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2 ๋Š” 1์„ ๋ฆฌํ„ดํ•˜๋ฉด ๋œ๋‹ค. ``` ``` A[0] = 4 A[1] = 1 A[2] = 3 ...

    1๋ถ„
  • Codility - Count div

    ## Count Div ### ๋ฌธ์ œ A์™€ A๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฐ B, ๊ทธ๋ฆฌ๊ณ  K๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, A์™€ B์‚ฌ์ด์— K๋กœ ๋‚˜๋ˆ„๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ. ``` A=6 B=11 K=2 6, 8, 10 ์ด ์žˆ์œผ๋ฏ€๋กœ, ์ •๋‹ต์€ 3 ์ด๋‹ค. ``` ### ํ’€์ด ```javascript function solution(A, B, K) { return ...

    1๋ถ„
  • Codility - Genomic Range Query

    ## Genomic Range Query ### ๋ฌธ์ œ DNA๋Š” A, C, G, T๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋Š” ๊ฐ๊ฐ 1, 2, 3, 4๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค. ์ด๋Ÿฌํ•œ DNA๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” S๊ฐ€ ์žˆ๊ณ , ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ P์™€ Q๊ฐ€ ์žˆ๋‹ค. ``` S=CAGCCTA P=[2, 5, 0] Q=[4, 5, 6] ๊ฐ 0๋ฒˆ์งธ ์š”์†Œ๋Š” 2, 4๋‹ค. 2๋ฒˆ์งธ ~ 4๋ฒˆ์งธ DNA๋Š” GCC...

    2๋ถ„
  • Codility - Min Avg Two Slice

    ## Min Avg Two Slice ### ๋ฌธ์ œ ๊ธธ์ด๊ฐ€ N์ธ ๋น„์–ด์žˆ์ง€ ์•Š์€ ๋ฐฐ์—ด A๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•œ์Œ์˜ ์ˆซ์ž P, Q์˜ ๋ฒ”์œ„๋Š” `0 <= P < Q < N` ๋‹ค. ์ฃผ์–ด์ง„ P์™€ Q๋กœ A๋ฐฐ์—ด์„ sliceํ•œ๋‹ค. (์ตœ์†Œ 2๊ฐœ์ด์ƒ์˜ ์š”์†Œ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.) (P, Q)๋Š” `A[P] + A[P + 1] + ... + A[Q]`์ด๋ฉฐ, (P, Q)์˜ ํ‰๊ท ์€ `(A[P...

    2๋ถ„
  • Codility - Passing Cars

    ## Passing Cars ### ๋ฌธ์ œ N์˜ ๊ธธ์ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด A๋Š” 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ, 0๊ณผ 1์€ ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. - 0์€ ์ฐจ๊ฐ€ ๋™์ชฝ์œผ๋กœ ๊ฐ„๋‹ค - 1์€ ์ฐจ๊ฐ€ ์„œ์ชฝ์œผ๋กœ ๊ฐ„๋‹ค ์ด ๋•Œ ๋™์ชฝ์œผ๋กœ ๊ฐ„ ์ฐจ์™€ ์„œ์ชฝ์œผ๋กœ ๊ฐ„ ์ฐจ๋ฅผ ์ง์ง€์„ ์ˆ˜ ์žˆ๋Š” ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ. ๋‹จ ๋จผ์ € ๋™์ชฝ์œผ๋กœ ๊ฐ„์ฐจ์™€ ๊ทธ ์ดํ›„์— ์„œ์ชฝ์œผ๋กœ ๊ฐ„ ์ฐจ๋งŒ ์ง ์ง€์„ ์ˆ˜ ...

    2๋ถ„
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

    ## ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, Linked List ๋Š” ๊ฐ ๋…ธ๋“œ๋“ค์ด ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ (๋‹ค์Œ ๋…ธ๋“œ์˜ ์ •๋ณด)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ `O(1)`์— ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน์ • n๋ฒˆ ์งธ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ์—๋Š” `O(n)`์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ๋„ ์žˆ๋‹ค. ![๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ...

    3๋ถ„
  • 2020๋…„ ๋ชฉํ‘œ

    Don't do anything boring ## Tensorflow JS ์ค‘์š”๋„: โ˜…โ˜…โ˜…โ˜…โ˜… ๋‚œ์ด๋„: โ˜…โ˜…โ˜…โ˜…โ˜… AI๊ฐ€ ํ•˜๊ณ  ์‹ถ์–ด์š” ์„ ์ƒ๋‹˜... tensorflowjs ๋ฅผ ํŠœํ† ๋ฆฌ์–ผ๋ถ€ํ„ฐ ๋”ฐ๋ผํ•˜๋ฉด์„œ ๋ฐฐ์›Œ๋ณด์ž. ## ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ•์˜ [๋ฐฑ์ค€๊ฐ•์˜](https://code.plus/bundle/8) ์ด์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ณตํ•  ๋•Œ๊ฐ€ ๋˜์—ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ํŒŒ์ด์ฌ์œผ...

    2๋ถ„
  • ๋ฐœ์Œ ๊ธฐ๋ฐ˜์œผ๋กœ String์˜ ์œ ์‚ฌ๋„๋ฅผ ๋น„๊ตํ•ด ๋ณด์ž.

    ์•ž์„  ํฌ์ŠคํŒ… ํ†ตํ•ด์„œ ๋‘ String์„ ๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„์„ํ•˜์˜€์„๋•Œ. ์œ ์‚ฌ๋„๋ฅผ ์–ด๋–ป๊ฒŒ ์ธก์ •ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Œ์„ฑ์ธ์‹์œผ๋กœ String์„ ๋น„๊ต ํ–ˆ์„ ๋•Œ, ย ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜์˜€๋‹ค.

    4๋ถ„
  • ๋‘ String์˜ ์œ ์‚ฌ๋„๋ฅผ ์ธก์ •ํ•ด๋ณด์ž - Levenshtein distance

    ๋‘ ๊ฐœ์˜ String์ด ์žˆ์„๋•Œ, ๊ทธ ๋‘๊ฐœ๋ฅผ ๋น„๊ตํ•˜๋Š” ์ž‘์—…์€ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? str.equalsOf(str2) ์ด๋Ÿฐ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋‘ ๋‹จ์–ด์˜ ๋น„์Šทํ•œ ์ •๋„๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž. ์‚ฌ์šฉ์ž๊ฐ€ Toast๋ผ๊ณ  ๋ง์„ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ตฌ๊ธ€ Voice๋Š” Toast๋ผ๋Š” ์‚ฌ์šฉ์ž ์‚ฌ์šด๋“œ์— ๊ฐ€์žฅ ๋น„์Šทํ•œ ๋‹จ์–ด ๋ช‡๊ฐ€์ง€๋ฅผ ์ถ”์ฒœํ•ด์ค€๋‹ค. ![๊ตฌ๊ธ€๋ณด์ด์Šค๋กœ toast๋ฅผ ...

    6๋ถ„