๐ ์ ์ฒด ์นดํ ๊ณ ๋ฆฌ
[ํ๋ก๊ทธ๋๋จธ์ค] H-Index (level2, python)
๋ฌธ์ ์ค๋ช H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 1ํธ ์ด์ 1,000ํธ ์ดํ์ ๋๋ค. ๋ ผ๋ฌธ๋ณ ์ธ์ฉ ํ์๋ 0ํ ์ด์ 10,000ํ ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ citation retu..
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ ฌ์ ๊ณฑ์ (level2, python)
๋ฌธ์ ์ค๋ช 2์ฐจ์ ํ๋ ฌ arr1๊ณผ arr2๋ฅผ ์ ๋ ฅ๋ฐ์, arr1์ arr2๋ฅผ ๊ณฑํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. ์ ํ ์กฐ๊ฑด ํ๋ ฌ arr1, arr2์ ํ๊ณผ ์ด์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์ ๋๋ค. ํ๋ ฌ arr1, arr2์ ์์๋ -10 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ๊ณฑํ ์ ์๋ ๋ฐฐ์ด๋ง ์ฃผ์ด์ง๋๋ค. ์ ์ถ๋ ฅ ์ arr1 arr2 result [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] ํ์ด ์ฝ๋ d..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ์ ์๊ฐ์ด๋ (level2, python)
๋ฌธ์ ์ค๋ช OO ์ฐ๊ตฌ์๋ ํ ๋ฒ์ K ์นธ์ ์์ผ๋ก ์ ํํ๊ฑฐ๋, (ํ์ฌ๊น์ง ์จ ๊ฑฐ๋ฆฌ) x 2 ์ ํด๋นํ๋ ์์น๋ก ์๊ฐ์ด๋์ ํ ์ ์๋ ํน์ํ ๊ธฐ๋ฅ์ ๊ฐ์ง ์์ด์ธ ์ํธ๋ฅผ ๊ฐ๋ฐํ์ฌ ํ๋งคํ๊ณ ์์ต๋๋ค. ์ด ์์ด์ธ ์ํธ๋ ๊ฑด์ ์ง๋ก ์๋๋๋๋ฐ, ์๊ฐ์ด๋์ ํ๋ฉด ๊ฑด์ ์ง ์ฌ์ฉ๋์ด ์ค์ง ์์ง๋ง, ์์ผ๋ก K ์นธ์ ์ ํํ๋ฉด K ๋งํผ์ ๊ฑด์ ์ง ์ฌ์ฉ๋์ด ๋ญ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์ด์ธ ์ํธ๋ฅผ ์ฐฉ์ฉํ๊ณ ์ด๋ํ ๋๋ ์๊ฐ ์ด๋์ ํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ ๋๋ค. ์์ด์ธ ์ํธ ๊ตฌ๋งค์๋ ์์ด์ธ ์ํธ๋ฅผ ์ฐฉ์ฉํ๊ณ ๊ฑฐ๋ฆฌ๊ฐ N ๋งํผ ๋จ์ด์ ธ ์๋ ์ฅ์๋ก ๊ฐ๋ ค๊ณ ํฉ๋๋ค. ๋จ, ๊ฑด์ ์ง ์ฌ์ฉ๋์ ์ค์ด๊ธฐ ์ํด ์ ํ๋ก ์ด๋ํ๋ ๊ฒ์ ์ต์๋ก ํ๋ ค๊ณ ํฉ๋๋ค. ์์ด์ธ ์ํธ ๊ตฌ๋งค์๊ฐ ์ด๋ํ๋ ค๋ ๊ฑฐ๋ฆฌ N์ด ์ฃผ์ด์ก์ ๋, ์ฌ์ฉํด์ผ ํ๋ ๊ฑด์ ์ง ์ฌ์ฉ๋์ ์ต์๊ฐ์ return..
[ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ]์บ์ (level2, python)
๋ฌธ์ ์ค๋ช ์ง๋๊ฐ๋ฐํ์์ ๊ทผ๋ฌดํ๋ ์ ์ด์ง๋ ์ง๋์์ ๋์ ์ด๋ฆ์ ๊ฒ์ํ๋ฉด ํด๋น ๋์์ ๊ด๋ จ๋ ๋ง์ง ๊ฒ์๋ฌผ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฝ์ด ๋ณด์ฌ์ฃผ๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค. ์ด ํ๋ก๊ทธ๋จ์ ํ ์คํ ์ ๋ฌด๋ฅผ ๋ด๋นํ๊ณ ์๋ ์ดํผ์น๋ ์๋น์ค๋ฅผ ์คํํ๊ธฐ ์ ๊ฐ ๋ก์ง์ ๋ํ ์ฑ๋ฅ ์ธก์ ์ ์ํํ์๋๋ฐ, ์ ์ด์ง๊ฐ ์์ฑํ ๋ถ๋ถ ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ์คํ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ดํผ์น๋ ์ ์ด์ง์๊ฒ ํด๋น ๋ก์ง์ ๊ฐ์ ํ๋ผ๊ณ ๋ฆ๋ฌํ๊ธฐ ์์ํ์๊ณ , ์ ์ด์ง๋ DB ์บ์๋ฅผ ์ ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ ์ ์๋ํ๊ณ ์์ง๋ง ์บ์ ํฌ๊ธฐ๋ฅผ ์ผ๋ง๋ก ํด์ผ ํจ์จ์ ์ธ์ง ๋ชฐ๋ผ ๋๊ฐํ ์ํฉ์ด๋ค. ์ดํผ์น์๊ฒ ์๋ฌ๋ฆฌ๋ ์ ์ด์ง๋ฅผ ๋์, DB ์บ์๋ฅผ ์ ์ฉํ ๋ ์บ์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ์คํ์๊ฐ ์ธก์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ํ์ ์บ์ ํฌ..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๊ณ ์ ์งํฉ (level3, python)
๋ฌธ์ ์ค๋ช ์์ฐ์ n ๊ฐ๋ก ์ด๋ฃจ์ด์ง ์ค๋ณต ์งํฉ(multi set, ํธ์์ ์ดํ์๋ "์งํฉ"์ผ๋ก ํต์นญ) ์ค์ ๋ค์ ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์งํฉ์ ์ต๊ณ ์ ์งํฉ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ฐ ์์์ ํฉ์ด S๊ฐ ๋๋ ์์ ์งํฉ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ๊ฐ ์์์ ๊ณฑ ์ด ์ต๋๊ฐ ๋๋ ์งํฉ ์๋ฅผ ๋ค์ด์ ์์ฐ์ 2๊ฐ๋ก ์ด๋ฃจ์ด์ง ์งํฉ ์ค ํฉ์ด 9๊ฐ ๋๋ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ๊ฐ ์์ต๋๋ค. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } ๊ทธ์ค ๊ฐ ์์์ ๊ณฑ์ด ์ต๋์ธ { 4, 5 }๊ฐ ์ต๊ณ ์ ์งํฉ์ ๋๋ค. ์งํฉ์ ์์์ ๊ฐ์ n๊ณผ ๋ชจ๋ ์์๋ค์ ํฉ s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ต๊ณ ์ ์งํฉ์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ์ต๊ณ ์ ์งํฉ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ 1์ฐจ์ ๋ฐฐ์ด(list, vecto..
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋์งํ (level2, python)
๋ฌธ์ ์ค๋ช โณโณ ๊ฒ์๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค. ์ด ๋ํ๋ N๋ช ์ด ์ฐธ๊ฐํ๊ณ , ํ ๋๋จผํธ ํ์์ผ๋ก ์งํ๋ฉ๋๋ค. N๋ช ์ ์ฐธ๊ฐ์๋ ๊ฐ๊ฐ 1๋ถํฐ N๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒ↔2๋ฒ, 3๋ฒ↔4๋ฒ, ... , N-1๋ฒ↔N๋ฒ์ ์ฐธ๊ฐ์๋ผ๋ฆฌ ๊ฒ์์ ์งํํฉ๋๋ค. ๊ฐ ๊ฒ์์์ ์ด๊ธด ์ฌ๋์ ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ ์์ต๋๋ค. ์ด๋, ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ฐธ๊ฐ์์ ๋ฒํธ๋ ๋ค์ 1๋ฒ๋ถํฐ N/2๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๋ง์ฝ 1๋ฒ↔2๋ฒ ๋ผ๋ฆฌ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 2๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 1๋ฒ์ ๋ถ์ฌ๋ฐ๊ณ , 3๋ฒ↔4๋ฒ์์ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 3๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 2๋ฒ์ ๋ถ์ฌ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ฒ์์ ์ต์ข ํ ๋ช ์ด ๋จ์ ๋๊น์ง ์งํ๋ฉ๋๋ค. ์ด๋, ์ฒ์ ๋ผ์ด๋์์ A๋ฒ์ ๊ฐ์ง ์ฐธ๊ฐ์๋ ๊ฒฝ์์๋ก ์๊ฐํ๋ B๋ฒ ์ฐธ๊ฐ์์ ๋ช ..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (level2, python)
๋ฌธ์ ์ค๋ช ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ, ๋๋ 2์นธ์ ๋ธ ์ ์์ต๋๋ค. ์นธ์ด ์ด 4๊ฐ ์์ ๋, ํจ์ง์ด๋ (1์นธ, 1์นธ, 1์นธ, 1์นธ) (1์นธ, 2์นธ, 1์นธ) (1์นธ, 1์นธ, 2์นธ) (2์นธ, 1์นธ, 1์นธ) (2์นธ, 2์นธ) ์ 5๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋งจ ๋ ์นธ์ ๋๋ฌํ ์ ์์ต๋๋ค. ๋ฉ๋ฆฌ๋ฐ๊ธฐ์ ์ฌ์ฉ๋ ์นธ์ ์ n์ด ์ฃผ์ด์ง ๋, ํจ์ง์ด๊ฐ ๋์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ด ๋ช ๊ฐ์ง์ธ์ง ์์๋ด, ์ฌ๊ธฐ์ 1234567๋ฅผ ๋๋ ๋๋จธ์ง๋ฅผ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํ์ธ์. ์๋ฅผ ๋ค์ด 4๊ฐ ์ ๋ ฅ๋๋ค๋ฉด, 5๋ฅผ returnํ๋ฉด ๋ฉ๋๋ค. ์ ํ ์ฌํญ n์ 1 ์ด์, 2000 ์ดํ์ธ ์ ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ n result 4 5 3 3 ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 ์์์ ์ค๋ช ํ ๋ด์ฉ๊ณผ ๊ฐ์ต๋๋ค. ์ ..
[ํ๋ก๊ทธ๋๋จธ์ค] N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (level2, python)
๋ฌธ์ ์ค๋ช ๋ ์์ ์ต์๊ณต๋ฐฐ์(Least Common Multiple)๋ ์ ๋ ฅ๋ ๋ ์์ ๋ฐฐ์ ์ค ๊ณตํต์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด 2์ 7์ ์ต์๊ณต๋ฐฐ์๋ 14๊ฐ ๋ฉ๋๋ค. ์ ์๋ฅผ ํ์ฅํด์, n๊ฐ์ ์์ ์ต์๊ณต๋ฐฐ์๋ n ๊ฐ์ ์๋ค์ ๋ฐฐ์ ์ค ๊ณตํต์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๊ฐ ๋ฉ๋๋ค. n๊ฐ์ ์ซ์๋ฅผ ๋ด์ ๋ฐฐ์ด arr์ด ์ ๋ ฅ๋์์ ๋ ์ด ์๋ค์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ์ ํ ์ฌํญ arr์ ๊ธธ์ด 1์ด์, 15์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค. arr์ ์์๋ 100 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์ ์ถ๋ ฅ ์ arr result [2,6,8,14] 168 [1,2,3] 6 ํ์ด ์ฝ๋ def GCD(a, b): while b: a, b = b, a%b return a def LCM(a, ..