์๋
ํ์ธ์! ๐ฑ ์ค๋์ ์ด์ ๋ง๋ ์์๋ฆฌ์คํธ์ ๋ฒํผ์ ๋๋ ์ ๋, ํด๋น ์์๋ฆฌ์คํธ๋ฅผ ์ฝ์ด๋ฐ์ดํฐ๋ก ์ ์ฅํ๋ ์์
์ ํ์์ต๋๋ค! ํจ๊ป ๊ฐ๋ณด์์ฃ ! CoreData ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ฐ์ coreData์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ถํฐ ๋ง๋ค์ด์ฃผ์ด์ผ๊ฒ ์ฃ ?! URLSession์์ ๊ฐ์ ธ์๋ ๋ฐ์ดํฐ ์ ๋ณด๋ค ์ค images๋ฅผ ์ ์ธํ๊ณ ๊ทธ๋๋ก ์ฌ์ฉํด์ฃผ์์ด์! struct Product: Codable { let id: Int let title, description: String let price: Int let discountPercentage: Double let brand, category: String let thumbnail: String let images: [String] } Editor -> Create NSManagedOb..
HTTP ํ๋กํ ์ฝ์ด๋? HTTP ํ๋กํ ์ฝ์ด๋ "HyperText Transfer Protocol"์ ์ค์๋ง๋ก ์น์์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํ ๊ท์ฝ ๋๋ ํ๋กํ ์ฝ์
๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํ์ดํผ ๋ฌธ์๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฌ์ฉ์ด ๋๋๋ฐ์! ์ด๋, ํด๋ผ์ด์ธํธ๋ ์น์ฌ์ดํธ๋ฅผ, ์๋ฒ๋ ์๋ฒ ์ปดํจํฐ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ผ์! ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด, ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ํ๋ ์์ฒญ/์๋ต ํํ๋ก ๋ฐ์ดํฐ ์ ๋ฌ์ด ์ด๋ฃจ์ด์ ธ์. ๋ํ HTTP๋ ์ด๋ฏธ์ง, ์์, ์์ฑ, ํ์ผ JSON ๋ฑ ๋ชจ๋ ํํ์ ๋ฐ์ดํฐ๋ฅผ ํต์ ํ ์ ์์ต๋๋ค. HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ฐ๊ฒฐ์ฑ์ ๊ฐ์ง๋๋ค. ๋น์ฐ๊ฒฐ์ฑ์ด๋ผ๋ ๊ฒ์ ์ ์ ๋ณด๋๋ ๋ฐ์ดํฐ์ ํ์ ๋ณด๋๋ ๋ฐ์ดํฐ ๊ฐ์ ์ฐ๊ด์ฑ์ด ์ ํ ์๋ค๋ ๊ฒ์ด์์! ๊ฐ ์์ฒญ๋ง๋ค ๋ฐ์ดํฐ๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋๊ธฐ ๋..
๐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ์ด ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr โ๐ป ๋ฌธ์ ํ์ด github ๋งํฌ -Swift-CodingTest/ํ๋ก๊ทธ๋๋จธ์ค/2/87390. n๏ผพ2 ๋ฐฐ์ด ์๋ฅด๊ธฐ at main · BaeJihae/-Swift-CodingTest Swift๋ก ํผ ์ฝ๋ฉ ํ
์คํธ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํ๊ณ ๊ณต๋ถํ๋ ๊ณต๊ฐ์
๋๋ค. Contribute to BaeJihae/-Swift-CodingTest development by creating an account on GitHub. github.com ๋ฌธ์ ์ค๋ช
์ ์ n, left, right๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ณผ..
์ค๋์ ์์ ๋ฆฌ์คํธ์ UI์์
๊ณผ ํ๋ฉด์ Data๋ฅผ ๋์ฐ๋ ์์
์ ํ์์ต๋๋ค! ๊ทธ๋ผ ์์ํด๋ณผ๊น์ง?! โจ WishListApp UI WishListApp์ ๋ฉ์ธํ๋ฉด์ ๊ทธ์ ๊น๋ํ๊ณ ์ฌํํ์ผ๋ฉด ์ข๊ฒ ๋ค๋ผ๊ณ ์๊ฐ์ ํ์ด์! ๊ทธ๋์ ํ์์ ์ ๊ฐ ์ฆ๊ฒจ์ฐ๋ ์ฑ์ธ " 29CM "์ ์ํ ํ๋ฉด๊ณผ ๋น์ทํ๊ฒ ๋ง๋ค์ด๋ณด์๊ณ ์๊ฐํ๊ฒ ๋์์ต๋๋ค! ์๋ Add to Wish ๋ฒํผ๊ณผ Next to Item ์ด ์๋ View๋ ๊ณ ์ ์ธ ์ํ๋ก Description์ด ๊ธธ์ด์ง๊ฒ ๋๋ฉด View๊ฐ ์คํฌ๋กค์ด ๋๊ฒ๋ ๊ตฌํ์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๊ธ์จ์ฒด๋ ๋ค๋ฅด์ง๋ง ๊ทธ๋๋ ์ ๋ง ๊น๋ํ UI ๊ฐ์์!ใ
ใ
WishListApp Data ์ ์ฉํ๊ธฐ URLSession์ ํตํด ๋ณํํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ProductDataManager์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ค๋๋ค..
โโ ์๋
ํ์ธ์! ์ค๋์ 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๊ฐ..