โโ ์๋
ํ์ธ์! ์ค๋์ WishListApp์ ์ฒซ ๋จ์ถ๋ฅผ ๊ฟฐ๋งค๋ ๋ ์ด์์ด์!! URLSession์ ๋ํ ์ถฉ๋ถํ ๊ณต๋ถ๋ฅผ ํ ํ์ ํ๋ก์ ํธ๋ฅผ ์์ํ์์ต๋๋ค~! ๊ทธ๋ผ ์ ์ URLSession์ ํตํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ ํจ๊ป ์ดํด๋ด
์๋ค~! โจ URLSession Data ๊ตฌ์กฐ ์ฐ์ URLSession์ ํ๊ธฐ ์ํด์๋ Data ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค! https://dummyjson.com/products ์์ json์ผ๋ก ์ด๋ฃจ์ด์ง url ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์ฝ๊ฒ Data ๊ตฌ์กฐ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ์น์ฌ์ดํธ๊ฐ ์๋๋ฐ์! ์ ๋ ์๋์ quicktype์ ํ์ฉํ์ฌ JSON ๋ฐ์ดํฐ๋ฅผ Swift ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ๋ณํํด์ฃผ์์ด์! https://app.quicktype.io/ Instantly parse JSON in any la..
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ ๋ฌธ์ ์ค๋ช
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์
๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋
ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋
ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋
ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์
๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋
ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๊ณผํ์๊ฐ ๋ฐํํ ๋
ผ๋ฌธ์ ์๋ 1ํธ ์ด์ 1,000ํธ ์ดํ์
๋๋ค. ๋
ผ๋ฌธ๋ณ ์ธ์ฉ ํ์๋ 0ํ ์ด์ 1..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ ๋ฌธ์ ์ค๋ช
์ฒ ํธ๋ ์์ด์ ๊ฐ์ง๊ณ ๋๊ธฐ ์ข์ํฉ๋๋ค. ์ด๋ ๋ ์ฒ ํธ๋ ์ด๋ค ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์ํ ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์๊ฐ ๋ชจ๋ ๋ช ๊ฐ์ง์ธ์ง ์์๋ณด๊ณ ์ถ์ด์ก์ต๋๋ค. ์ํ ์์ด์ด๋ ์ผ๋ฐ์ ์ธ ์์ด์์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋ ํํ์ ์์ด์ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ด [7, 9, 1, 1, 4] ๋ก ์ํ ์์ด์ ๋ง๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ํ ์์ด์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋์ด ๋๊ธฐ๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด๋ ์ผ๋ฐ์ ์ธ ์์ด๋ณด๋ค ๋ง์์ง๋๋ค. ์ํ ์์ด์ ๋ชจ๋ ์์ elements๊ฐ ์์๋๋ก ์ฃผ์ด์ง ๋, ์ํ ์์ด์ ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ ๋ฌธ์ ์ค๋ช
๋ค์ ๊ท์น์ ์งํค๋ ๋ฌธ์์ด์ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ผ๊ณ ์ ์ํฉ๋๋ค. (), [], {} ๋ ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์
๋๋ค. ๋ง์ฝ A๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ผ๋ฉด, (A), [A], {A} ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์
๋๋ค. ์๋ฅผ ๋ค์ด, [] ๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ฏ๋ก, ([]) ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์
๋๋ค. ๋ง์ฝ A, B๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ผ๋ฉด, AB ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์
๋๋ค. ์๋ฅผ ๋ค์ด, {} ์ ([]) ๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ฏ๋ก, {}([]) ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์
๋๋ค. ๋๊ดํธ, ์ค๊ดํธ, ๊ทธ๋ฆฌ๊ณ ์๊ดํธ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ด s๋ฅผ ์ผ์ชฝ์ผ๋ก x (0 ≤ x < (s์ ๊ธธ์ด)) ์นธ๋งํผ ํ์ ์์ผฐ์ ๋ s๊ฐ..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ ๋ฌธ์ ์ค๋ช
๊ฒฝํ๋ ๊ณผ์์์์ ๊ทค์ ์ํํ์ต๋๋ค. ๊ฒฝํ๋ ์ํํ ๊ทค ์ค 'k'๊ฐ๋ฅผ ๊ณจ๋ผ ์์ ํ๋์ ๋ด์ ํ๋งคํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ํํ ๊ทค์ ํฌ๊ธฐ๊ฐ ์ผ์ ํ์ง ์์ ๋ณด๊ธฐ์ ์ข์ง ์๋ค๊ณ ์๊ฐํ ๊ฒฝํ๋ ๊ทค์ ํฌ๊ธฐ๋ณ๋ก ๋ถ๋ฅํ์ ๋ ์๋ก ๋ค๋ฅธ ์ข
๋ฅ์ ์๋ฅผ ์ต์ํํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒฝํ๊ฐ ์ํํ ๊ทค 8๊ฐ์ ํฌ๊ธฐ๊ฐ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ ํฉ์๋ค. ๊ฒฝํ๊ฐ ๊ทค 6๊ฐ๋ฅผ ํ๋งคํ๊ณ ์ถ๋ค๋ฉด, ํฌ๊ธฐ๊ฐ 1, 4์ธ ๊ทค์ ์ ์ธํ ์ฌ์ฏ ๊ฐ์ ๊ทค์ ์์์ ๋ด์ผ๋ฉด, ๊ทค์ ํฌ๊ธฐ์ ์ข
๋ฅ๊ฐ 2, 3, 5๋ก ์ด 3๊ฐ์ง๊ฐ ๋๋ฉฐ ์ด๋๊ฐ ์๋ก ๋ค๋ฅธ ์ข
๋ฅ๊ฐ ์ต์์ผ ๋์
๋๋ค. ๊ฒฝํ๊ฐ ํ ์์์ ๋ด์ผ๋ ค๋ ๊ทค์ ๊ฐ์ k์ ๊ทค์ ํฌ๊ธฐ๋ฅผ ๋ด์ ๋ฐฐ์ด tangerine..
๊พธ๋ฒ
๊พธ๋ฒ
์กฐ๋ ํ์ด ์๋๋ผ๋.. ๋งค์ผ ๋งค์ผ TIL์ ์ฐ๊ฒ ๋ค ๋ค์งํ๋ฉฐ.. ๋ค์ ์๋ฆฌ์ ์์์ต๋๋ค! ์ ํฌ ์กฐ ํ์ฅ๋์ด ๊ณต๋ถ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์ณ์ฃผ์
จ๋๋ฐ์! ํ๋ง๋๋ก ์ ๋ฆฌํ ์ ์์ด์ผ ์๋ ๊ฒ์ด๋ผ๊ณ ํ๋๋ผ๊ตฌ์!! ๊ทธ๋์ ํ์ฅ๋์ ๊ณต๋ถ๋ฒ์ ๋ณธ๋ฐ์ ์ ์ TIL์ ๋ด๊ฐ ์ค๋ ์๋ ๊ฒ์ ์ ์๋ด๋ ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๋์ ๊ณํ๋ฒ ( Dynamic Programming ) ๋์ ๊ณํ๋ฒ์ ๊ฐ์ ๊ฒ์ ๋ฐ๋ณตํ์ฌ ๊ณ์ฐํ์ง ์๋ ๊ณ์ฐ๋ฒ์
๋๋ค. ๋ฐ๋ณต๋๋ ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ์ฌ ๋ฐ๋ณต๋๋ ์๋ฅผ ํธ์ถํ ๋๋ ๋ฉ๋ชจ๋ฆฌ์์ ํธ์ถํ์ฌ ์ฐ๋ ๋ฐฉ๋ฒ์
๋๋ค! ๋ํ์ ์ธ ๋ฌธ์ ์์๋ก ํผ๋ณด๋์น ์์ด์ด ์์ต๋๋ค. ์ ํ์๊ฐ์ด ์ธ์ ํ ํญ๋ค ์ฌ์ด์ ๊ด๊ณ์์ด ๋ง๋ค ์ ์๋ ์๋ค์ด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํ๋ฆฝ๋๋ค! ์ด์ ์ฝ๋ฉํ
์คํธ์ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ , ์ ํ์์ด ๋ณด์ธ๋ค๋ฉด ๋ฌด์กฐ๊ฑด DP๋ก..
์ค๋์ ARC ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํด์ ๊ณต๋ถํด ๋ณผ๊น ํฉ๋๋ค! ๊ทธ๋ผ ์์ํด ๋ณผ๊น์?! โจ ์ค์ํํธ๋ ARC ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํ ์์ญ์์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์.. ๊ทธ๋ ๋ค๋ฉด ํ ์์ญ์ด ๋์ฒด ๋ญ๊ธธ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ ๊น์?! ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ค Heap ์์ญ Heap ์์ญ์ ๋ฐํ์ ์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํ ๊ฒฝ์ฐ์ ๋์ ์ผ๋ก ํ ๋น๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ณณ์
๋๋ค. ๊ทธ๋ผ ๋์ ํ ๋น์ด ๋ญ๋ฐ์?! ๋์ ํ ๋น์ด๋ ์คํ ์์ญ์ฒ๋ผ ์ ํด์ง ๊ณณ์ ๋ฐ์ดํฐ ๋ฑ๋ฑ ๋ค์ด๊ฐ๊ณ ๋์ค๋ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ๋น์์ ธ ์๋ ๊ณต๊ฐ์ ์ฐพ์์ ํฌ๊ธฐ๋ ์์กด๊ธฐ๊ฐ์ ์ ํ์ฌ ํ ๋นํ ์ ์๋ ๋ฐฉ๋ฒ์
๋๋ค. Heap ์์ญ์๋ ์ฐธ์กฐ ํ์
์ ๋ฐ์ดํฐ๋ง ์ ์ฅ์ด ๋ฉ๋๋ค. ๋ฐํ์ ์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํ ๊ฒฝ์ฐ Heap ์์ญ์ ์ ์ฅ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ ์ผ๋ก ํ ๋น ์ฐธ..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ -Swift-CodingTest/ํ๋ก๊ทธ๋๋จธ์ค/2/12914. ๋ฉ๋ฆฌ ๋ฐ๊ธฐ at main · BaeJihae/-Swift-CodingTest Swift๋ก ํผ ์ฝ๋ฉ ํ
์คํธ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํ๊ณ ๊ณต๋ถํ๋ ๊ณต๊ฐ์
๋๋ค. Contribute to BaeJihae/-Swift-CodingTest development by creating an account on GitHub. github.com ๋ฌธ์ ์ค๋ช
ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ,..