๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๊ตฌ์ฌ์ ๋๋๋ ๊ฒฝ์ฐ์ ์ 1) โ ๋ฌธ์ ์ค๋ช
๋จธ์ฑ์ด๋ ๊ตฌ์ฌ์ ์น๊ตฌ๋ค์๊ฒ ๋๋์ด์ฃผ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ์ฌ์ ๋ชจ๋ ๋ค๋ฅด๊ฒ ์๊ฒผ์ต๋๋ค. ๋จธ์ฑ์ด๊ฐ ๊ฐ๊ณ ์๋ ๊ตฌ์ฌ์ ๊ฐ์ balls์ ์น๊ตฌ๋ค์๊ฒ ๋๋์ด ์ค ๊ตฌ์ฌ ๊ฐ์ share์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, balls๊ฐ์ ๊ตฌ์ฌ ์ค share๊ฐ์ ๊ตฌ์ฌ์ ๊ณ ๋ฅด๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2) ๐ซ ์ ํ ์ฌํญ 1 โค balls โค 30 1 โค share โค 30 ๊ตฌ์ฌ์ ๊ณ ๋ฅด๋ ์์๋ ๊ณ ๋ คํ์ง ์์ต๋๋ค. share โค balls 3) โ
์
์ถ๋ ฅ ์ balls share result 3 2 3 5 3 10 ์
์ถ๋ ฅ ์ #1 ์๋ก ๋ค๋ฅธ ๊ตฌ์ฌ 3๊ฐ ์ค ..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ํน์ ๋ฌธ์์ด๋ก ๋๋๋ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ๋ฌธ์์ด ์ฐพ๊ธฐ 1) โ ๋ฌธ์ ์ค๋ช
๋ฌธ์์ด myString๊ณผ pat๊ฐ ์ฃผ์ด์ง๋๋ค. myString์ ๋ถ๋ถ ๋ฌธ์์ด์ค pat๋ก ๋๋๋ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ์์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. 2) ๐ซ ์ ํ ์ฌํญ 5 โค myString โค 20 1 โค pat โค 5 pat์ ๋ฐ๋์ myString์ ๋ถ๋ถ ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋๋ค. myString๊ณผ pat์ ๋ฑ์ฅํ๋ ์ํ๋ฒณ์ ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. 3) โ
์
์ถ๋ ฅ ์ myString pat result "AbCdEFG" "dE" "AbCdE" "AAAAaaaa" "a" "AAAAaaaa" 2. ์ฌ์ฉํ ๋ฉ์๋: sl..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ 1) โ ๋ฌธ์ ์ค๋ช
์๋ก ์๊ธด ๋์ด๊ธฐ๊ตฌ๋ ์ธ๊ธฐ๊ฐ ๋งค์ฐ ๋ง์ ์ค์ด ๋์ด์ง ์์ต๋๋ค. ์ด ๋์ด๊ธฐ๊ตฌ์ ์๋ ์ด์ฉ๋ฃ๋ price์ ์ธ๋ฐ, ๋์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒ ์งธ ์ด์ฉํ๋ค๋ฉด ์๋ ์ด์ฉ๋ฃ์ N๋ฐฐ๋ฅผ ๋ฐ๊ธฐ๋ก ํ์์ต๋๋ค. ์ฆ, ์ฒ์ ์ด์ฉ๋ฃ๊ฐ 100์ด์๋ค๋ฉด 2๋ฒ์งธ์๋ 200, 3๋ฒ์งธ์๋ 300์ผ๋ก ์๊ธ์ด ์ธ์๋ฉ๋๋ค. ๋์ด๊ธฐ๊ตฌ๋ฅผ count๋ฒ ํ๊ฒ ๋๋ฉด ํ์ฌ ์์ ์ด ๊ฐ์ง๊ณ ์๋ ๊ธ์ก์์ ์ผ๋ง๊ฐ ๋ชจ์๋ผ๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ๋จ, ๊ธ์ก์ด ๋ถ์กฑํ์ง ์์ผ๋ฉด 0์ return ํ์ธ์. 2) ๐ซ ์ ํ ์ฌํญ ๋์ด๊ธฐ๊ตฌ์ ์ด์ฉ๋ฃ price : 1 โค price โค 2,500, price๋ ์์ฐ์ ์ฒ์..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ํน์๋ฌธ์ ์ถ๋ ฅํ๊ธฐ 1) โ ๋ฌธ์ ์ค๋ช
๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํด ์ฃผ์ธ์. 2) โ
์
์ถ๋ ฅ ์ !@#$%^&*(\'"?:; 2. ์ด์ค์ผ์ดํ ๋ฌธ์ ์ด์ค์ผ์ดํ ๋ฌธ์๋ ์ด์ค์ผ์ดํ ์ํ์ค๋ฅผ ๋ฐ๋ฅด๋ ๋ฌธ์๋ค๋ก์, ๋ค์ ๋ฌธ์๊ฐ ํน์๋ฌธ์์์ ์๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉํ๋ฉฐ ๋ฐฑ์ฌ๋์(\)๋ฅผ ์ฌ์ฉํ๋ค. 1) ์๋ฐ์คํฌ๋ฆฝํธ์์์ ํน์ ๋ฌธ์ ํน์๋ฌธ์ ์ค๋ช
\n ์ค ๋ฐ๊ฟ \r ์บ๋ฆฌ์ง ๋ฆฌํด(carriage return). Windows์์ ์บ๋ฆฌ์ง ๋ฆฌํด๊ณผ ์ค ๋ฐ๊ฟ ํน์ ๋ฌธ์๋ฅผ ์กฐํฉ(\r\n)ํด ์ค์ ๋ฐ๊ฟ๋๋ค. ์บ๋ฆฌ์ง ๋ฆฌํด์ ๋จ๋
์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. \', \" ๋ฐ์ดํ \\ ์ญ์ฌ๋์ \t ํญ \b, \f, \v ๊ฐ๊ฐ ๋ฐฑ์คํ์ด์ค(Backspac..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๋ฆฌ์คํธ ์๋ฅด๊ธฐ 1) โ ๋ฌธ์ ์ค๋ช
์ ์ n๊ณผ ์ ์ 3๊ฐ๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ slicer ๊ทธ๋ฆฌ๊ณ ์ ์ ์ฌ๋ฌ ๊ฐ๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ num_list๊ฐ ์ฃผ์ด์ง๋๋ค. slicer์ ๋ด๊ธด ์ ์๋ฅผ ์ฐจ๋ก๋๋ก a, b, c๋ผ๊ณ ํ ๋, n์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด num_list๋ฅผ ์ฌ๋ผ์ด์ฑ ํ๋ ค๊ณ ํฉ๋๋ค. n = 1 : num_list์ 0๋ฒ ์ธ๋ฑ์ค๋ถํฐ b๋ฒ ์ธ๋ฑ์ค๊น์ง n = 2 : num_list์ a๋ฒ ์ธ๋ฑ์ค๋ถํฐ ๋ง์ง๋ง ์ธ๋ฑ์ค๊น์ง n = 3 : num_list์ a๋ฒ ์ธ๋ฑ์ค๋ถํฐ b๋ฒ ์ธ๋ฑ์ค๊น์ง n = 4 : num_list์ a๋ฒ ์ธ๋ฑ์ค๋ถํฐ b๋ฒ ์ธ๋ฑ์ค๊น์ง c ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ๋ผ์ด์ฑํ ๋ฆฌ์คํธ๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/120813 ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ์ง์๋ ์ซ์ด์ 1) โ ๋ฌธ์ ์ค๋ช
์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n ์ดํ์ ํ์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด๊ธด ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2) ๐ซ ์ ํ ์ฌํญ 1 โค n โค 100 3) โ๏ธ ์
์ถ๋ ฅ ์ n result 10 [1, 3, 5, 7, 9] 15 [1, 3, 5, 7, 9, 11, 13, 15] 2. ์ฌ์ฉํ ๋ฉ์๋: For๋ฌธ For๋ฌธ์ผ๋ก ๋ฐฐ์ด์ ํ์๋ฅผ push for๋ฌธ์ ๊ดํธ๋ก ๊ฐ์ธ๊ณ ์ธ๋ฏธ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถํ ์ธ ๊ฐ์ ์ ํ์๊ณผ, ๋ฐ๋ณต์ ์ํํ ๋ฌธ(์ฃผ๋ก ๋ธ๋ญ๋ฌธ)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/120891 ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๋ฌธ์ ์ ๋ชฉ 1) โ ๋ฌธ์ ์ค๋ช
๋จธ์ฑ์ด๋ ์น๊ตฌ๋ค๊ณผ 369๊ฒ์์ ํ๊ณ ์์ต๋๋ค. 369๊ฒ์์ 1๋ถํฐ ์ซ์๋ฅผ ํ๋์ฉ ๋๋ฉฐ 3, 6, 9๊ฐ ๋ค์ด๊ฐ๋ ์ซ์๋ ์ซ์ ๋์ 3, 6, 9์ ๊ฐ์๋งํผ ๋ฐ์๋ฅผ ์น๋ ๊ฒ์์
๋๋ค. ๋จธ์ฑ์ด๊ฐ ๋งํด์ผํ๋ ์ซ์ order๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด๊ฐ ์ณ์ผํ ๋ฐ์ ํ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. 2) ๐ซ ์ ํ ์ฌํญ 1 โค order โค 1,000,000 3) โ๏ธ ์
์ถ๋ ฅ ์ order result 3 1 29423 2 ์
์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด : ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ์ฝ๋ผ์ธ ์ถ์ธก 1) โ ๋ฌธ์ ์ค๋ช
1937๋
Collatz๋ ์ฌ๋์ ์ํด ์ ๊ธฐ๋ ์ด ์ถ์ธก์, ์ฃผ์ด์ง ์๊ฐ 1์ด ๋ ๋๊น์ง ๋ค์ ์์
์ ๋ฐ๋ณตํ๋ฉด, ๋ชจ๋ ์๋ฅผ 1๋ก ๋ง๋ค ์ ์๋ค๋ ์ถ์ธก์
๋๋ค. ์์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1-1. ์
๋ ฅ๋ ์๊ฐ ์ง์๋ผ๋ฉด 2๋ก ๋๋๋๋ค. 1-2. ์
๋ ฅ๋ ์๊ฐ ํ์๋ผ๋ฉด 3์ ๊ณฑํ๊ณ 1์ ๋ํฉ๋๋ค. 2. ๊ฒฐ๊ณผ๋ก ๋์จ ์์ ๊ฐ์ ์์
์ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์๊ฐ 6์ด๋ผ๋ฉด 6 โ 3 โ 10 โ 5 โ 16 โ 8 โ 4 โ 2 โ 1 ์ด ๋์ด ์ด 8๋ฒ ๋ง์ 1์ด ๋ฉ๋๋ค. ์ ์์
์ ๋ช ๋ฒ์ด๋ ๋ฐ๋ณตํด์ผ ํ๋์ง ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ๋จ, ์ฃผ์ด์ง ์๊ฐ 1์ธ..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๊ฐ๊น์ด 1 ์ฐพ๊ธฐ 1) โ ๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด arr๊ฐ ์ฃผ์ด์ง๋๋ค. ์ด๋ arr์ ์์๋ 1 ๋๋ 0์
๋๋ค. ์ ์ idx๊ฐ ์ฃผ์ด์ก์ ๋, idx๋ณด๋ค ํฌ๋ฉด์ ๋ฐฐ์ด์ ๊ฐ์ด 1์ธ ๊ฐ์ฅ ์์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์์ ๋ฐํํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ๋จ, ๋ง์ฝ ๊ทธ๋ฌํ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด -1์ ๋ฐํํฉ๋๋ค. 2) ๐ซ ์ ํ ์ฌํญ 3 โค arr์ ๊ธธ์ด โค 100,000 arr์ ์์๋ ์ ๋ถ 1 ๋๋ 0์
๋๋ค. 3) โ๏ธ ์
์ถ๋ ฅ ์ arr idx result [0, 0, 0, 1] 1 3 [1, 0, 0, 1, 0, 0] 4 -1 [1, 1, 1, 1, 0] 3 3 2. ์ฌ์ฉํ ๋ฉ์๋: for๋ฌธ for๋ฌธ์ผ๋ก ๋ฐฐ์ด์ ๋ชจ๋ ์์ ์ํ ๋ฐฐ..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด : ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ํน๋ณํ ์ด์ฐจ์ ๋ฐฐ์ด 2 1) ๋ฌธ์ ์ค๋ช
n ร n ํฌ๊ธฐ์ ์ด์ฐจ์ ๋ฐฐ์ด arr์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, arr์ด ๋ค์์ ๋ง์กฑํ๋ฉด 1์ ์๋๋ผ๋ฉด 0์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. 0 โค i, j
'๐ป Programming/Algorithm' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.