๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ด€๋ จ 7

[Hash Table] Hash Table์„ ๊ตฌํ˜„ํ•ด๋ณด์ž

Hash Table https://zzong-a.tistory.com/196 [์ž๋ฃŒ๊ตฌ์กฐ] Hash / Hash Table in Python ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ํšจ์œจ์ ์ธ ์ ‘๊ทผ ๋ฐ ์ˆ˜์ •์„ ๊ฐ€๋Šฅ์ผ€ํ•˜๋Š” ์ž๋ฃŒ์˜ ์กฐ์ง, ๊ด€๋ฆฌ, ์ €์žฅ์„ ์˜๋ฏธํ•œ๋‹ค. ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ๋ชจ์ž„, ๋˜ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„, ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” zzong-a.tistory.com ์˜ˆ์ „์— ํŒŒ์ด์ฌ์œผ๋กœ ๊ธฐ๋กํ•ด๋‘” Hash Table์ด ์žˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ์œ„ ๊ฒŒ์‹œ๊ธ€์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.! ๋Œ€๋žต ๋ช‡์ค„๋กœ ์š”์•ฝํ•ด๋ณด์ž๋ฉด, [key, value] ---- (Hash Func์— key๋ฅผ ๋„ฃ์–ด์„œ ์•”ํ˜ธํ™”!) -----> [Hash Table, value] key๋ฅผ hash ํ•จ์ˆ˜๋ฅผ ํ†ต๊ณผ์‹œ์ผœ ์•”ํ˜ธํ™”๋ฅผ ํ•ด์„œ hash table์— ์ €์žฅ์‹œ์ผœ๋’€์Œ ! ๊ทผ๋ฐ ..

[Linked List] Linked List๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์งœ

Linked List ๋ชฐ์•„์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 3๋ฒˆ์งธ ์‹œ๊ฐ„ ~ Linked List๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž ! ๋ฐฐ์—ด์€ ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ผ๋ฉด ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ๋Š” ๋–จ์–ด์ ธ์žˆ๋Š” ๋ถˆ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”์‚ดํ‘œ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ผ๋Š” ๊ฒƒ ~ ! ๋…ธ๋“œ : ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋‹จ์œ„ ( ๋ฐ์ดํ„ฐ ๊ฐ’, ํฌ์ธํ„ฐ ) ํฌ์ธํ„ฐ : ๊ฐ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ/์ด์ „์˜ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„ ๋‹จ์ ์œผ๋กœ๋Š” ๋ฐฐ์—ด์ฒ˜๋Ÿผ index๋กœ ์ ‘๊ทผํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ์— 100๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด 1๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ ~ 2๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ~. .. ~ 100๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ•๋ฌผ์„ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋Š” ์—ฐ์–ด๋งˆ๋ƒฅ 100๋ฒˆ์„ ์ˆœํšŒ ํ•ด์•ผํ•œ๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ๋˜ํ•œ ํ•„์š”ํ•ด์„œ ์ €์žฅ ๊ณต๊ฐ„์˜ ํšจ์œจ์ด ๋†’์ง€๋Š” ์•Š๋‹ค.. ๋‹จ๋ฐฉํ–ฅ..

[Stack] Stack ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž

Stack ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2๋ฒˆ์งธ ์‹œ๊ฐ„ ! ์Šคํƒ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž ~! Queue๋Š” ๋จผ์ € ์ค„์„  ์ ค๋ผ๋˜ ์†๋‹˜์ด ๋จผ์ € ๋‚˜๊ฐ”๋˜ ๊ฑฐ๋ผ๋ฉด, Stack์€ ํ•™๊ต ๋Œ€๊ฐ•๋‹น์— ์ œ์ผ ๋จผ์ € ๋“ค์–ด์™€์„œ ์•ž์ž๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•œ ์นœ๊ตฌ๊ฐ€ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋‚˜๊ฐ€์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. FILO(First In Last Out) , LIFO(Last In First Out) ๋ฐฉ์‹์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. import Foundation struct Stack { var elements: Array = Array() var count: Int { return elements.count } var isEmpty: Bool { return elements.isEmpty } mutating func push(_ element: T) { //์‚ฝ์ž… elements.append(eleme..

[Queue] Queue๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž

Queue java๋‚˜ python์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ œ๊ณตํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ ์Šค์œ„ํ”„ํŠธ์—๋Š” ์™œ ์—†๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ํ๋ฅผ ์•ˆํ•  ์ˆ˜๊ฐ€ ์—†์–ด์„œ ์ฐพ์•„๋ดค๋”๋‹ˆ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด ์“ฐ๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ ค๋ผ๋˜๋ฅผ ๋จน์œผ๋ ค๊ณ  ์ ค๋ผ๋˜ ๊ฐ€๊ฒŒ ์•ž์— 5๋ช…์˜ ์‚ฌ๋žŒ์ด ์ค„์„ ์„œ์žˆ๋‹ค. ๋จผ์ € ์ค„ ์„  ์‚ฌ๋žŒ์ด ์ ค๋ผ๋˜ ๋‘์Šค์ฟฑ์„ ๋ฐ›๊ณ  ๋– ๋‚œ๋‹ค. . . ๋งˆ์ง€๋ง‰์— ์ค„์„ ์„  ์‚ฌ๋žŒ์€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ ค๋ผ๋˜๋ฅผ ๋ฐ›๊ณ  ๋– ๋‚˜๊ฒ ์ง€? ์ด๊ฒŒ ํ์˜ ํ•ต์‹ฌ์ธ FIFO(First In First Out) = LILO(Last In Last Out) ๋ฐฉ์‹์ด๋‹ค. struct Queue { private var queue: Array = Array() public var count: Int { return queue.count } public var isE..

์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๊ธฐ ์ฑŒ๋ฆฐ์ง€ ๋„์ „ !

์–ด์ œ ๊ณตํ•ญ์—์„œ ํ’€์—ˆ๋Š”๋ฐ ํฌ์ŠคํŒ…์€ ์˜ค๋Š˜ํ•จ ! ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ์ž๊พธ ๋‚˜๋Š”๋ฐ ์ด์œ ๋ฅผ ๋ชจ๋ฅผ์ผ ... import Foundation var readArr: Array = Array() var sum = 0 var testSum = 0 var num1 = 0 var num2 = 0 for _ in 1...9 { let readNum = Int(readLine()!)! readArr.append(readNum) sum = sum + readNum } readArr.sort() testSum = sum while sum > 100 { num1 = Int.random(in: 0...8) num2 = Int.random(in: 0...8) if num2 == num1 { num2 = Int.random(in: 0...8) ..

1์ผ 1์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๊ธฐ ์ฑŒ๋ฆฐ์ง€ ๋„์ „ !

๋ฐฑ์ค€ 2501๋ฒˆ ์•ฝ์ˆ˜๊ตฌํ•˜๊ธฐ import Foundation let line = readLine()! let lineArr = line.components(separatedBy: " ") let a = Int(lineArr[0])! let b = Int(lineArr[1])! var arrA: Array = Array() //a์˜ ์•ฝ์ˆ˜๋ฅผ ๋„ฃ์„ ๋ฐฐ์—ด for index in 1...a { if a % index == 0 { arrA.append(index) } } if arrA.count >= b { print(arrA[b-1]) //๋ฐฐ์—ดindex๋Š” 0๋ถ€ํ„ฐ๋‹ˆ๊นŒ 3๋ฒˆ์งธ๊บผ๋ฉด arrA[2]์ด๋‹ค. } else { print(0) }