๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ384

[์ž๋ฃŒ๊ตฌ์กฐ] ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List) ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List) ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด์˜ ๊ณ ์ • ํฌ๊ธฐ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ ํ•„์š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ํ‘œํ˜„ Head๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ์„ ๋‚˜ํƒ€๋ƒ„ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ์™€ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” Next ํฌ์ธํ„ฐ๋กœ ๊ตฌ์„ฑ ๊ฐ ๋…ธ๋“œ๋Š” Next ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์Œ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋Š” null์„ ๊ฐ€๋ฆฌ์ผœ ๋ฆฌ์ŠคํŠธ์˜ ๋์„ ๋‚˜ํƒ€๋ƒ„ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์ข…๋ฅ˜ 1. ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ฐ ๋…ธ๋“œ๋‹น ํ•œ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅด ๊ฐ€์ง€๊ณ  ์žˆ์Œ ํฌ์ธํ„ฐ๋Š” ๋‹ค์Œ ๋…ธ๋“œ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ด 2. ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ฐ ๋…ธ๋“œ๋‹น ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ํฌ์ธํ„ฐ๋Š” ๊ฐ๊ฐ ์ด์ „ ๋…ธ๋“œ์™€ ๋‹ค์Œ๋…ธ๋“œ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ด 3... 2023. 2. 10.
[์ž๋ฃŒ๊ตฌ์กฐ] ๋ฐฐ์—ด(Array)์ด๋ž€? ๋ฐฐ์—ด(Array) ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๋ชจ์Œ ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ์š”์†Œ(elemnet): ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ๊ฐ’ ์ธ๋ฑ์Šค(index): ๋ฐฐ์—ด์—์„œ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ˆซ์ž (0๋ถ€ํ„ฐ ์‹œ์ž‘) ๋ฐฐ์—ด ํ‘œํ˜„ ํฌ๊ธฐ๊ฐ€ 5์ธ Intํ˜• ๋ฐฐ์—ด array๋ฅผ ์„ ์–ธ swift var array: [Int] = [1, 2, 3, 4, 5] python array = [1, 2, 3, 4, 5] C int array[5] = {1, 2, 3, 4, 5}; Java Int[] array = {1, 2, 3, 4, 5}; ๋‹ค์ฐจ์› ๋ฐฐ์—ด (Multidimensional Array) index๊ฐ€ 2๊ฐœ ์ด์ƒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด ๋‹ค์ฐจ์› ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค๋ฅผ 2๊ฐœ๋ถ€ํ„ฐ ์ตœ๋Œ€ n๊ฐœ๊นŒ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ //2์ฐจ์› var array.. 2023. 2. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„ ๋ฌธ์ œ ์„ค๋ช… ์ž„์˜์˜ ์–‘์˜ ์ •์ˆ˜ n์— ๋Œ€ํ•ด, n์ด ์–ด๋–ค ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด๋ผ๋ฉด x+1์˜ ์ œ๊ณฑ์„ ๋ฆฌํ„ดํ•˜๊ณ , n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด ์•„๋‹ˆ๋ผ๋ฉด -1์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ n์€ 1 ์ด์ƒ, 50000000000000 ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 121 144 3 -1 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 121์€ ์–‘์˜ ์ •์ˆ˜ 11์˜ ์ œ๊ณฑ์ด๋ฏ€๋กœ, (11+1)์„ ์ œ๊ณฑํ•œ 144๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 3์€ ์–‘์˜ ์ •์ˆ˜์˜ ์ œ๊ณฑ์ด ์•„๋‹ˆ๋ฏ€๋กœ, -1์„ return ํ•ฉ๋‹ˆ๋‹ค. ์ œ์ถœ import Foundation func solution(_ n:Int64) -> Int64 {.. 2023. 2. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ n์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค. n์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ํฐ ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ์ƒˆ๋กœ์šด ์ •์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด n์ด 118372๋ฉด 873211์„ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์‚ฌํ•ญ n์€ 1 ์ด์ƒ 8000000000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 118372 873211 ์ œ์ถœ func solution(_ n:Int64) -> Int64 { return Int64(String(Array(String(n)).sorted(by: >)))! } 2023. 2. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ ์ž์—ฐ์ˆ˜ ๋’ค์ง‘์–ด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ n์„ ๋’ค์ง‘์–ด ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด n์ด 12345์ด๋ฉด [5,4,3,2,1]์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์‚ฌํ•ญ n์€ 10,000,000,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 12345 [5,4,3,2,1] ์ œ์ถœ func solution(_ n:Int64) -> [Int] { return String(n).map{Int(String($0))!}.reversed() } 2023. 2. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1] ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.1 ๋ชจ์Œ ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์‚ฌํ•ญ N์˜ ๋ฒ”์œ„ : 100,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…์ถœ๋ ฅ ์˜ˆ N answer 123 6 987 24 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 ๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 9 + 8 + 7 = 24 ์ด๋ฏ€๋กœ, 24๋ฅผ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œ์ถœ func solution(_ n:Int) -> Int { return String(n).map{Int(String($0))!}.reduce(0,+) } 2023. 2. 10.
๋ฐ˜์‘ํ˜•