์ ์ฒด ๊ธ (56) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Go] Go ํ๊ฒฝ์ค์ 1. Go ๋ฐํ์ ์ค์นGo ํํ์ด์ง์์ ๋ฐํ์์ ์ค์นํ๋ค.๋๋ M1 ๋งฅ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ARM64๋ก ์ค์นํ๋ค.๋ฒ์ ๋ช ๋ น์ด๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋๋์ง ํ์ธํ๋ค.go --version2. ํ๋ก์ ํธ ์คํํ๋ก์ ํธ ์ด๊ธฐํ ๋ช ๋ น์ด๋ฅผ ์ํํ๋ค.์คํ ํ go.mod ํ์ผ์ด ์๊ธฐ๋๋ฐ, ์ด๋ NodeJS์์ package.json, Python์ requirements.txt์ ๊ฐ์ ๊ฒ์ด๋ค.go mod init github.com/๊ณ์ ๋ช /์ ์ฅ์๋ช main.go ํ์ผ์ ์์ฑํ๊ณ ๊ทธ ์์ ๊ฐ๋จํ ์ฝ๋๋ฅผ ์์ฑํ๋ค.package main import "fmt" func main() { fmt.Println("Welcom to Nomad Coin!"); }๋ค์ ๋ช ๋ น์ด๋ก ์คํํด๋ณธ๋ค.go run main.go3. ์๋ํฐ ์ค์ ๋๋ VSC.. [Go] Slice, Pointer, Struct ์ ๋ฆฌ Array vs SliceArrayPython, JS์ ๋ฌ๋ฆฌ Golang์ array๋ ์ ํด์ง ๊ธธ์ด๊ฐ ์๋ค.// Arrayfoods := [3]string{"kimchi", "pizza", "pasta"}for _, food :=range foods { fmt.Println(food)}// ๋๋for i := 0; i kimchi> pizza> pastaSliceslice๋ ๊ฐ๋ณ ๊ธธ์ด์ ๋ฐฐ์ด์ด๋ค. ๋๊ดํธ ์์ ์ซ์๋ฅผ ์ง์ฐ๋ฉด slice๊ฐ ๋๋ค.slice์ ์์๋ฅผ ์ถ๊ฐํ ๋๋ append ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ ๋ณต์ฌ๋ณธ์ผ๋ก ์๋ณธ slice๋ฅผ ์ ๋ฐ์ดํธ ํด์ค์ผ ํ๋ค.// Slicefoods := []string{"kimchi", "pizza", "pasta"}fmt.Printf("%v\n", foods)> ki.. [ํ๋ก๊ทธ๋๋จธ์ค Lv.1] ๊ณต์ ์ฐ์ฑ ํ์ด ๋ ์ง : 2025.04.24๋ฌธ์ ์ ํ : ์ฐ์ต๋ฌธ์ ๋ฌธ์ ์ ๋ชฉ : ๊ณต์ ์ฐ์ฑ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/172928Intuition์ด ํจ์๋ ๊ณต์ park๊ณผ ์ด๋ ๋ช ๋ น routes๋ฅผ ๋ฐ์์, ์์์ ์์ ๋ช ๋ น์ ๋ฐ๋ผ ์ด๋ํ ํ์ ์ขํ๋ฅผ ๋ฐํํ๋ค.๊ณต์์ ๋ฒ์ด๋๊ฑฐ๋ ์ฅ์ ๋ฌผ์ด ์์ผ๋ฉด ๋ช ๋ น์ ๋ฌด์ํ๊ณ ๋ค์ ๋ช ๋ น์ผ๋ก ๋์ด๊ฐ๋ค.๋ณต์กํ ์กฐ๊ฑด์ ์ฝ๋๋ก ์ฎ๊ธฐ๋ ๊ตฌํ ๋ฌธ์ ๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋ค.Approach๊ณต์์ ๊ฐ๋ก(w), ์ธ๋ก(h) ๊ธธ์ด์ ํ์ฌ ์์น๋ฅผ ์ ์ฅํ ๋ณ์(curr)๋ฅผ ์ ์ธํ๋ค.park์ ๋ฌธ์์ด์ ๋ชจ๋ ์ํํ์ฌ ์์ ์์น๋ฅผ ์ฐพ์์ curr์ ์ ์ฅํ๋ค.์ด๋ ๋ฐฉํฅ์ ์ ์ธํ๋ค.๊ฐ ๋ฐฉํฅ ๋ฌธ์์ ๋ํด ํ๊ณผ ์ด์ ๋ณํ๋์ ์ ์ฅํ๋ค.๋ช ๋ น.. [ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ ํ์ด ๋ ์ง : 2025.04.22๋ฌธ์ ์ ํ : ์ฐ์ต๋ฌธ์ ๋ฌธ์ ์ ๋ชฉ : ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/178871Intuitionplayers ๋ฐฐ์ด์์ callings์ ์์๋๋ก ๋ฐ๋ก ์์ ์ ์๋ฅผ ์ถ์ํ๊ณ , ๊ฒฝ์ฃผ๊ฐ ๋๋ ํ ์ ์๋ค์ ์์๋๋ก ์ด๋ฆ์ ๋ฐํํด์ผ ํ๋ค.players ๊ธธ์ด๊ฐ ์ต๋ 50,000์ด๋ฏ๋ก, players ๋ฐฐ์ด ์์์ callings์์ ํธ์ถํ ์ ์๋ฅผ ์ต๋ํ ๋น ๋ฅด๊ฒ ์ฐพ๋ ๊ฒ์ด ๊ด๊ฑด์ด๊ฒ ๋ค.players ๋ฐฐ์ด ์์์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์์ ์๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ์๊ฐ ์ด๊ณผ๋๋ ์ผ์ด์ค๊ฐ ์์๋ค.๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํด์ํ ์ด๋ธ ์๋ฃ๊ตฌ์กฐ๊ฐ ๋ ์ฌ๋๊ณ , JS์์๋ V8 ์์ง ๊ธฐ์ค ๋ฐ์ดํฐ ์ ๊ทผ์ ๋ํ ์๊ฐ๋ณต์ก๋๊ฐ O(1)์ธ M.. ํฌ ํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ ์ ์ํฌ ํฌ์ธํฐ(Two Pointer) ์๊ณ ๋ฆฌ์ฆ์ด๋, ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ์์ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฒ์๋ฅผ ์กฐ์ ํด๊ฐ๋ฉฐ ํน์ ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ถ๋ถ์ ์ฐพ๋ ๊ธฐ๋ฒ์ด๋ค.ํนํ ์ ๋ ฌ๋ ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.ํต์ฌ ์์ด๋์ด๋ ๋ฐฐ์ด์ ์๋ก ๋ค๋ฅธ ๋ ๋ถ๋ถ์ ๋์์ ๋ฐ๋ณตํ๋ ๊ฒ์ด๋ค.์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ณต์ก๋๋ O(n), ๊ณต๊ฐ ๋ณต์ก๋๋ O(1)์ด ๋๋ค.๋ฐํ์์ ์ต์ ํํ๊ณ ๊ณต๊ฐ์ ์ ์ฝํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.๊ณ ๋ คํด์ผ ํ ์ ํฌ์ธํฐ์ ์ด๊ธฐ ์์น ์ค์ ํฌ์ธํฐ๋ฅผ ์ด๋์ ์์ํ๊ณ ์ด๋ค ์ธ๋ฑ์ค๋ฅผ ๋น๊ตํ ๊ฒ์ธ๊ฐ?ํฌ์ธํฐ์ ์ด๋ ๋ฐฉํฅ๊ณผ ์กฐ๊ฑด๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ ๊ฒ์ธ๊ฐ, ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ ๊ฒ์ธ๊ฐ?ํฌ์ธํฐ๋ฅผ ์ธ์ ์์ง์ผ ๊ฒ์ธ๊ฐ?ํฌ์ธํฐ์ ์ค์ง ์กฐ๊ฑดํฌ์ธํฐ๋ฅผ ์ธ์ ๋ฉ์ถ ๊ฒ์ธ๊ฐ?์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด์ ๋ฐ๋ณต์ด ๋๋ ๋๋ ๋ ํฌ์ธํฐ๊ฐ .. [ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ์ซ์์ ํํ ํ์ด ๋ ์ง : 2025.04.21๋ฌธ์ ์ ํ : ์ฐ์ต๋ฌธ์ ๋ฌธ์ ์ ๋ชฉ : ์ซ์์ ํํ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/12924 Intuition์์ฐ์ n์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.์๋ฅผ ๋ค์ด n์ด 15๋ผ๋ฉด, 1+2+3+4+5, 4+5+6, 7+8, 15 ์ ๋ค ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.n/2๋ณด๋ค ํฐ ์์ฐ์๋ถํฐ ์์ํ๋ ์์ฐ์์ ํฉ์ ์๋ค. ๋ฐ๋ผ์ ์์ฐ์์ ํฉ์ n/2 ๋ณด๋ค ์์ ์๋ถํฐ ์์ํ๋ ์ ์ ๊ณ ๋ คํ๋ค.n ์์ฒด๋ก๋ง ํํ๋๋ ์ฃ์ง์ผ์ด์ค ํ ๊ฐ์ง๊ฐ ์๋ค. Approach์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ ์ฅํ๋ ๋ณ์ answer๋ฅผ ์ ์ธํ๋ค.์๊ธฐ ์์ ์ ๋ฌด์กฐ๊ฑด ํฌํจ๋๋ฏ๋ก .. [ํ๋ก๊ทธ๋๋จธ์ค Lv.2] ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ ํ์ด ๋ ์ง : 2025.00.00๋ฌธ์ ์ ํ : ์ฐ์ต ๋ฌธ์ ๋ฌธ์ ์ ๋ชฉ : ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/70129 Intuition๋ฌธ์์ด s์์ 0์ ์ ๊ฑฐํ๊ณ ๋ ํ์ ์๋ฆฌ์๋ฅผ ์ด์ง์๋ก ๋ณํํ์ฌ s๊ฐ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ์ ๋, ๋ณํ ํ์์ ์ ๊ฑฐํ 0์ ๊ฐ์๋ฅผ ๊ตฌํด์ผ ํ๋ค. Approach๋ณํ ํ์๋ฅผ ์ ์ฅํ ๋ณ์(convertCount), ์ ๊ฑฐํ 0์ ๊ฐ์๋ฅผ ์ ์ฅํ ๋ณ์(zeroCount)๋ฅผ ์ ์ธํ๋ค.s๊ฐ "1"์ด ๋ ๋๊น์ง ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.๋ฌธ์์ด s ์์ "0"์ ๋น ๋ฌธ์์ด๋ก ๋ณํํ ํ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค.์๋ณธ s์ ๊ธธ์ด์์ ์ด ๊ธธ์ด๋ฅผ ๋บ ๊ฐ์ zeroCount์ ๋์ ํ๋ค.์ด ๊ธธ์ด๋ฅผ 2์ง์๋ก ๋ณํํ.. [ํ๋ก๊ทธ๋๋จธ์ค Lv.2] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ ํ์ด ๋ ์ง : 2025.04.16๋ฌธ์ ์ ํ : ์ฐ์ต๋ฌธ์ ๋ฌธ์ ์ ๋ชฉ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/12951 Intuition์ฃผ์ด์ง ๋ฌธ์์ด์์ ์ฒซ๊ธ์๋ง ๋๋ฌธ์๋ก ๋ณํํ๋ ๋ฌธ์ ์ด๋ค.๊ณต๋ฐฑ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋์ฌ ์ ์๋ค๋ ์กฐ๊ฑด์ด ์์ผ๋ฏ๋ก ๊ณต๋ฐฑ ๋ฌธ์ ๋ณด๋ค๋ ๊ฐ ๋ฌธ์ ๋จ์๋ก ๋ฌธ์์ด์ ์ํํ๋ ๊ฒ์ด ํจ์จ์ ์ผ ๊ฒ์ด๋ผ๊ณ ํ๋จํ๋ค.๋จ์ด ์ค๊ฐ์ ๋๋ฌธ์๊ฐ ์์ฌ์๋ ์ฃ์ง ์ผ์ด์ค๊ฐ ์๋ค. Approach์ฃผ์ด์ง ๋ฌธ์์ด์ ํ ๊ธ์์ฉ ์ํํ๋ฉด์ ๋น ๋ฌธ์์ด 'answer'์ ๋์ ํ๋ค.๋ฌธ์๊ฐ ์ซ์ ๋๋ ๊ณต๋ฐฑ ๋ฌธ์๋ฉด answer์ ๊ทธ๋๋ก ๋์ ํ๋ค.๋ฌธ์๊ฐ ์๋ฌธ์์ด๋ฉด์ ๋จ์ด์ ์ฒซ ๊ธ์๋ฉด ๋๋ฌธ์๋ก ๋ณํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฌธ.. ์ด์ 1 2 3 4 5 ยทยทยท 7 ๋ค์