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

์ „์ฒด ๊ธ€148

[TIL] Algorithm - ์ด๋ถ„ํƒ์ƒ‰(Binary Search) + ์ง์ ‘ ์ฃผ์†Œ ํ…Œ์ด๋ธ”์ด๋ž€? 1. ์ด๋ถ„ํƒ์ƒ‰ ๋˜๋Š” ์ด์ง„๊ฒ€์ƒ‰ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ  ์›ํ•˜๋Š” ๊ฐ’์˜ ์œ„์น˜๋ฅผ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ Wiki ์žฅ์  : ๊ฒ€์ƒ‰์ด ๋ฐ˜๋ณต๋  ๋•Œ๋งˆ๋‹ค ๋ชฉํ‘œ๊ฐ’์„ ์ฐพ์„ ํ™•๋ฅ ์ด 2๋ฐฐ๊ฐ€ ๋˜๋ฏ€๋กœ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. → ์‹œ๊ฐ„๋ณต์žก๋„ O(logN) ๋‹จ์  : ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด์ง„ ํƒ์ƒ‰ ๊ณผ์ • ์ฐธ๊ณ  ์‚ฌ์ดํŠธ https://blog.penjee.com/binary-vs-linear-search-animated-gifs/ Binary Vs Linear Search Through Animated Gifs Average Case Worst Case Binary Search Best Case Binary Search If you're into searching, maybe you're also into sorting! Check.. 2023. 4. 13.
[TIL] ๋ฐฑ์ค€ ํ’€์ด ์ •๋ฆฌ โ€ป ์‹œํ—˜์„ ์•ž๋‘๊ณ  Week01์ฃผ์ฐจ์— ๊ณต๋ถ€ํ–ˆ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์—ฐ์Šตํ•œ๋‹ค. โ€ป 1. ์™„์ „ ํƒ์ƒ‰ ์—ฐ์Šต ๋ฌธ์ œ (14888๋ฒˆ - ์—ฐ์‚ฐ์ž ๋ผ์›Œ๋„ฃ๊ธฐ) import sys N = int(sys.stdin.readline()) nums = list(map(int, sys.stdin.readline().split())) plus, minus, multiply, divide = map(int, sys.stdin.readline().split()) # sys์ƒ ๊ฐ€์žฅ ํฐ์ˆ˜๋ฅผ ์ €์žฅ resultMax = -sys.maxsize resultMin = sys.maxsize ''' count : ํ˜„์žฌ ์ ‘๊ทผํ•˜๋Š” nums ์ธ๋ฑ์Šค total : ์•ž์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ plus, minus, multiply, divide : ๊ฐ ์—ฐ์‚ฐ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐœ์ˆ˜ .. 2023. 4. 12.
[TIL] ๋ฐฑ์ค€ ์ฝ”๋“œ ํ’€์ด & Computer System 1. ๋ฐฑ์ค€ - ์–ด๋ ค์› ๋˜ ๋ฌธ์ œ ์ •๋ฆฌ & ํ’€์ด ๊ณต๋ถ€ 1. N-Queen (9663๋ฒˆ) import sys n = int(sys.stdin.readline()) # row ๋ฆฌ์ŠคํŠธ์—์„œ ์ธ๋ฑ์Šค = ํ–‰๋ฒˆํ˜ธ / row[i] ๊ฐ’์€ ์—ด๋ฒˆํ˜ธ row = [0] * n result = 0 # https://seongonion.tistory.com/103 ์ฐธ๊ณ  # https://lighter.tistory.com/m/26 ์ฐธ๊ณ  # ํ€ธ์„ ๋†“์„ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์ธ์ง€ ์—ฌ๋ถ€ ํŒ๋‹จ def isPromising(x) : for i in range(x) : ''' 1. ๊ฐ™์€ ์—ด์— ์žˆ๋Š”์ง€ ํ™•์ธ row[x] == row[i] : x๋ฒˆ ํ–‰๊ณผ i๋ฒˆ ํ–‰์— ๋†“์—ฌ์žˆ๋Š” ํ€ธ์˜ ์—ด ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ 2. ๋Œ€๊ฐ์„ ์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ row[x]-row[i] : ์„ธ.. 2023. 4. 11.
[TIL] Algorithm - ์ •๋ ฌ3 + git ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ 1. ๋ณ‘ํ•ฉ ์ •๋ ฌ(merge sort) ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์˜ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ์ •๋ ฌํ•œ ํ›„ ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ # ๋ณ‘ํ•ฉ ์ •๋ ฌ ๊ตฌํ˜„ def merge_sort(list) : # ์žฌ๊ท€์ ์œผ๋กœ ์‹คํ–‰ํ•  ํ•จ์ˆ˜ def _merge_sort(list, left, right) : if left < right : middle = (left + right) // 2 _merge_sort(list, left, middle) # ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„ ์ •๋ ฌ _merge_sort(list, middle+1, right) # ๋ฐฐ์—ด์˜ ๋’ท๋ถ€๋ถ„ ์ •๋ ฌ ''' ์•ž์—์„œ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐฐ์—ด 2๊ฐœ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜๋“ค p : ํ˜„์žฌ buff๊ฐ€ ์ฑ„์›Œ์ ธ ์žˆ๋Š” ์ •๋„๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜ / ์ฆ‰, buff[p-1]๊นŒ์ง€ ์ฑ„์›Œ์ ธ์žˆ๋‹ค. j : ๋ณ‘ํ•ฉํ•  .. 2023. 4. 10.
[TIL] Algorithm - ์ •๋ ฌ2 1. ์‹œ๊ฐ„ ๋ณต์žก๋„ ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ Big-O(๋น…-์˜ค) ํ‘œ๊ธฐ๋ฒ• : ์ตœ์•…์˜ ๊ฒฝ์šฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ Big-O description $$ O\left ( 1 \right ) $$ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ์ƒ๊ด€์—†์ด ์–ธ์ œ๋‚˜ ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. $$ O\left ( log_{2}n \right ) $$ ์ž…๋ ฅ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ๋กœ๊ทธ๋งŒํผ ์งง์•„์ง„๋‹ค. $$ O\left ( n \right ) $$ ์ž…๋ ฅ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left ( n log_{2}n \right ) $$ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋กœ๊ทธ๋ฐฐ ๋ฐฐ๋งŒํผ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left ( n^{2} \right ) $$ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๊ธ‰์ˆ˜์ ์œผ๋กœ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•œ๋‹ค. $$ O\left.. 2023. 4. 9.
[TIL] Algorithm - ์ •๋ ฌ โฐ 2023.04.08 โฐ 1. Sorting key ๋ฅผ ํ•ญ๋ชฉ ๊ฐ’์˜ ๋Œ€์†Œ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ์ผ์ •ํ•œ ์ˆœ์„œ๋กœ ๋ฐ”๊พธ์–ด ๋Š˜์–ด๋†“๋Š” ์ž‘์—… ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜, ์„ ํƒ, ์‚ฝ์ž…ํ•˜๋ฉด์„œ ์ •๋ ฌ์„ ์™„๋ฃŒํ•œ๋‹ค. โ˜… ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์•ˆ์ „์„ฑ โ˜… ๊ฐ’์ด ๊ฐ™์€ ์›์†Œ์˜ ์ˆœ์„œ๋Š” ์ •๋ ฌํ•œ ํ›„์—๋„ ์œ ์ง€๋˜๋ฉด ์•ˆ์ •์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์•ˆ์ •์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฒ„๋ธ” ์ •๋ ฌ, ์‚ฝ์ž… ์ •๋ ฌ, ๋ณ‘ํ•ฉ ์ •๋ ฌ, ๋„์ˆ˜ ์ •๋ ฌ(๊ณ„์ˆ˜ ์ •๋ ฌ) ์•ˆ์ •์ ์ด์ง€ ์•Š๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ, ํž™ ์ •๋ ฌ, 2. ๋ฒ„๋ธ” ์ •๋ ฌ(bubble sort) ์ด์›ƒํ•œ ๋‘ ์›์†Œ์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ๊ตํ™˜์„ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ( = ๋‹จ์ˆœ ๊ตํ™˜ ์ •๋ ฌ ) ์‹œ๊ฐ„๋ณต์žก๋„ O(n^2) 1. ๊ธฐ๋ณธ ๊ตฌํ˜„ # ๊ธฐ๋ณธ ๋ฒ„๋ธ” ์ •๋ ฌ def bubble_sort(list) : n = len(list).. 2023. 4. 8.
ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 2๊ธฐ ์‹œ์ž‘ํ•˜๋ฉฐ...๐Ÿ€ ์ปดํ“จํ„ฐ ๊ณตํ•™๊ณผ๋ฅผ ์กธ์—…ํ•˜๊ณ  ํ•™๊ต๋ผ๋Š” ์šธํƒ€๋ฆฌ์—์„œ ๋‚˜์™”์„ ๋•Œ ์กธ์—…ํ•˜๋ฉด ๋‹ค ์ž˜ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋ผ๋Š” ์ƒ๊ฐ๊ณผ ๋‹ฌ๋ฆฌ ๋„ˆ๋ฌด ๋ฌด์„œ์› ๋‹ค.ํ•™๊ต๋ฅผ ๋‹ค๋‹ˆ๋ฉด์„œ ์ด๋ก  ๊ณต๋ถ€๋Š” ๊พธ์ค€ํžˆ ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ์ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์žˆ๋Š”์ง€, ์‚ฌํšŒ์— ๋‚˜๊ฐ€ ๋‚ด๊ฐ€ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์ด ๋งŽ์ด ๋“ค์—ˆ๋‹ค.์ง€๋‚œ 5๋…„ ๋™์•ˆ ๊ทธ์ € ํ•™๊ต์—์„œ ํ•˜๋ผ๋Š” ๊ฒƒ๋“ค์„ ์ˆ˜๋™์ ์œผ๋กœ ๋”ฐ๋ผ๊ฐ€๋Š” ๊ฒƒ์— ๋งŒ์กฑํ•œ ๋‚ด๊ฐ€ ํ›„ํšŒ์Šค๋Ÿฝ๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณ„์†ํ•ด์„œ ํ›„ํšŒ๋งŒ ํ•˜๊ธฐ ์ „์— ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€์— ๋„์ „ํ–ˆ๋‹ค.์ด๊ณณ์— ๋„์ฐฉํ•˜์ž๋งˆ์ž ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ ์ฒ˜์Œ ๋ณธ ์‚ฌ๋žŒ๋“ค, ์ต์ˆ™ํ•˜์ง€ ์•Š๋Š” ๊ธฐ์ˆ  ๋“ฑ ๋งŽ์ด ์–ด๋ ต๊ณ  ํž˜๋“ค์—ˆ์ง€๋งŒ๋Š์ž„์—†์ด ํ† ๋ก ํ•˜๊ณ  ๋ชฐ์ž…ํ•˜๊ณ  ํฌ๊ธฐํ•˜์ง€ ์•Š์œผ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๋…ธ๋ ฅํ•œ ์ ์ด ์žˆ์—ˆ๋‚˜ ์˜๋ฌธ์ด ๋“ค๋ฉด์„œ ํ•˜๋ฉด ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋ผ๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๋‹ค. ๊ทธ.. 2023. 4. 8.
[BOJ] 6064๋ฒˆ - ์นด์ž‰ ๋‹ฌ๋ ฅ(JAVA) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ https://blog.joonas.io/23 ์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ - ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์„ค๋ช… โ€‹์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ(CRT; Chinese Remainder Theorem)์—ฐ๋ฆฝ ํ•ฉ๋™์‹์˜ ์œ ์ผํ•œ ํ•ด๋ฅผ ์ฐพ๋Š” ์ •๋ฆฌ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด์„œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ์ „๊ฐœํ•˜๋Š” ๊ฒŒ ๊ฐ€์žฅ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ๊ฐœ๋… ์ดํ•ด๋ฅผ ์œ„ํ•ด ์—ฐ๋ฆฝ ํ•ฉ๋™์‹์ด 2๊ฐœ์ผ ๋•Œ blog.joonas.io ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์–ด๋ ค์›Œ์„œ ๊ตฌํ˜„ ์‹คํŒจ ๊ทธ๋ž˜์„œ ๋ฌธ์ œ ํ’€์ด ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ธ€์„ ์ž‘์„ฑ ๋ฌธ์ œํ’€์ด ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ https://girawhale.tistory.com/10 [๋ฐฑ์ค€] 6064๋ฒˆ: ์นด์ž‰ ๋‹ฌ๋ ฅ - JAVA ๋ฌธ์ œ ๋งํฌ BOJ 6064๋ฒˆ: ์นด์ž‰ .. 2023. 3. 27.
[BOJ] 2667๋ฒˆ - ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ(JAVA) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์‹œ์ž‘ ์ •์  ์ฐพ๊ธฐ ์ด๋ฏธ์ง€ ์ƒ์œผ๋กœ ํ™•์ธํ–ˆ์„ ๋•Œ ์™ผ์ชฝ ์œ„ > ์˜ค๋ฅธ์ชฝ ์œ„ > ์™ผ์ชฝ ์•„๋ž˜ > ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์™€ ๊ฐ™์ด Z ๋ชจ์–‘์œผ๋กœ ์‹œ์ž‘ ์ •์ ์„ ์ฐพ๋Š”๋‹ค. ํ˜„์žฌ ์œ„์น˜์˜ ๊ฐ’์ด 1์ด๋ฉด์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์œผ๋ฉด ์‹œ์ž‘ ์ •์ ์ด๋‹ค. ์‹œ์ž‘ ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ BFS ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์‚ฌ์šฉ ๋Œ€๊ฐ์„ ์„ ์ œ์™ธํ•œ ์ƒํ•˜์ขŒ์šฐ ์œ„์น˜์— ์•„ํŒŒํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ํ˜„์žฌ ๋‹จ์ง€์— ์žˆ๋Š” ์•„ํŒŒํŠธ ์ˆ˜ ์ฆ๊ฐ€ BFS ํƒ์ƒ‰์ด ๋๋‚˜๋ฉด ํƒ์ƒ‰ํ•œ ์•„ํŒŒํŠธ ์ˆ˜ ๋ฐ˜ํ™˜ ํƒ์ƒ‰์ด ๋๋‚˜๊ณ  ์•„์ง ๋‚จ์€ ์ •์ ์ด ์žˆ์œผ๋ฉด โ‘ ,โ‘ก๋ฒˆ ๊ณผ์ • ๋ฐ˜๋ณต ๋ชจ๋“  ์ •์ ์˜ ํƒ์ƒ‰์ด ๋๋‚˜๋ฉด ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ ํ›„ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ โ˜… ์•„ํŒŒํŠธ ๋‹จ์ง€๋‚ด์— ์žˆ๋Š” ์•„ํŒŒํŠธ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด(aparts[]) ์ดˆ๊ธฐํ™” โ˜… ๐Ÿ€ ํ’€์ด ์ฝ”๋“œ ๐Ÿ€ import java.io.BufferedReader; import ja.. 2023. 3. 23.
[C์–ธ์–ด] ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์ •๋ฆฌ 1. ์ฃผ์„(Comment) /* ์™€ */ ๋กœ ๋ฌถ์—ฌ์ง„ ๋ถ€๋ถ„ ํ”„๋กœ๊ทธ๋žจ์ด ํ•˜๋Š” ์ผ์„ ์„ค๋ช…ํ•˜๋Š” ์„ค๋ช… ๊ธ€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š”๋‹ค. /* ํ•œ์ค„๋กœ ๋œ ์ฃผ์„ */ /* ์—ฌ๋Ÿฌ ์ค„๋กœ ๋œ ์ฃผ์„์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด์™€ ๊ฐ™์ด ์‚ฌ์šฉ */ // ์ด์™€ ๊ฐ™์€ ์ฃผ์„์€ "//"๋ถ€ํ„ฐ ์ด ์ค„ ๋๊นŒ์ง€ ์ฃผ์„์ด๋‹ค. 2. ์ „์ฒ˜๋ฆฌ๊ธฐ(preprocessor) #include ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ์–ด(โ€ป์ฃผ์˜โ€ป # ๊ณผ include ์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค) #include ์˜๋ฏธ : ํ—ค๋” ํŒŒ์ผ stdio.h๋ฅผ ์†Œ์Šค ์ฝ”๋“œ์— ํฌํ•จ์‹œ์ผœ๋ผ ํ—ค๋” ํŒŒ์ผ(head file) : ์ฝ”๋“œ์˜ ์ผ๋ถ€๋ถ€์ด ๋“ค์–ด์žˆ๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ, .h ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„๋‹ค. โ˜… ์ฐธ๊ณ  โ˜… stdio = standard input ouput ๋กœ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค. pinrtf(.. 2023. 3. 22.
[GitHub] terminal์—์„œ git ์‹คํ–‰ํ•˜๊ธฐ - ์žฌ์ปค๋ฐ‹ ํ›„ ๊ธฐ๋ก 1. git์„ ์‚ฌ์šฉํ•  ํด๋” ๊ฒฝ๋กœ๋กœ ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ 2. git status๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธํ•˜๊ธฐ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œํ˜„๋œ ๊ฒƒ์€ ์•„์ง add๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ํ‘œ์‹œ 3. git add ํ•ด์ฃผ๊ธฐ ํŒŒ์ผ ํ•˜๋‚˜์”ฉ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด git add "file name" ์œผ๋กœ ์‹คํ–‰ ์ดˆ๋ก์ƒ‰ - commit ์ค€๋น„ ์™„๋ฃŒ ๋นจ๊ฐ„์ƒ‰ - add๋„ ๋œ ์ƒํƒœ๊ฐ€ ์•„๋‹˜ = commitํ•  ์ˆ˜ ์—†์Œ 4. Commit git commit -m "python example - stack" add๋œ ํŒŒ์ผ๋งŒ commit๋˜์—ˆ๋‹ค. 5. Push git push -u origin main 2023. 3. 21.
[Python] Stack๊ณผ Queue์‚ฌ์šฉํ•ด๋ณด๊ธฐ 1. Stack LIFO(Last In First Out) = FILO(First In Last Out) ๋‚˜์ค‘์— ๋“ค์–ด์˜จ ๊ฐ’์ด ๋จผ์ € ๋‚˜๊ฐ€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ โ˜… list๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์Šคํƒ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ โ˜… # ํŒŒ์ด์ฌ์—์„œ ์Šคํƒ์€ ๋ฆฌ์ŠคํŠธ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. stack = [] # ์Šคํƒ์— ๊ฐ’ ์ถ”๊ฐ€ํ•˜๊ธฐ stack.append(1) stack.append(2) stack.append(3) print("stack์— ์‚ฝ์ž…ํ•œ ํ›„ : ",stack) # ์Šคํƒ์—์„œ ๊ฐ’ ์ œ๊ฑฐํ•˜๊ธฐ print("์ฒซ๋ฒˆ์งธ pop : ",stack.pop()) print("popํ•œ ํ›„ ์Šคํƒ : ", stack) print("๋‘๋ฒˆ์งธ pop : ",stack.pop()) print("popํ•œ ํ›„ ์Šคํƒ : ", stack) print("์„ธ๋ฒˆ์งธ pop : ",stack... 2023. 3. 21.
[GitHub] terminal์—์„œ git ์‹คํ–‰ํ•˜๊ธฐ - first commit ๊ธฐ๋ก 1. repository ์ƒ์„ฑํ•˜๊ธฐ 2. git์„ ์‚ฌ์šฉํ•  ํด๋”์—์„œ ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ 3. git init ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ git ์ €์žฅ์†Œ๋กœ ์„ค์ • ๋ฐ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด 4. git add --all git์ด ์˜ฌ๋ฆด ํŒŒ์ผ์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ commit์„ ํ•˜๊ธฐ์ „์—๋Š” ๋ฐ˜๋“œ์‹œ add๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ธด ํ–ˆ์ง€๋งŒ commitํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” add๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ๋œ๋‹ค. git add . → ๋ชจ๋“  ํŒŒ์ผ git์œผ๋กœ ๊ด€๋ฆฌ git add "file name" → ํŠน์ • ํŒŒ์ผ๋งŒ ๊ด€๋ฆฌ 5. git status ํ˜„์žฌ ์ƒํƒœ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด ์ดˆ๋ก์ƒ‰ : add๋Š” ๋˜์–ด์žˆ์œผ๋‚˜ commit์€ ๋˜์ง€ ์•Š์€ ์ƒํƒœ 6. git commit -m "commit message" 7. git remote add origin "gi.. 2023. 3. 20.
[Python] ๋ฆฌ์ŠคํŠธ(List) ๊ฐœ๋… ์ •๋ฆฌ https://wikidocs.net/book/1 ์ ํ”„ ํˆฌ ํŒŒ์ด์ฌ ์ด ์ฑ…์€ ํŒŒ์ด์ฌ์ด๋ž€ ์–ธ์–ด๋ฅผ ์ฒ˜์Œ ์ ‘ํ•ด๋ณด๋Š” ๋…์ž๋“ค๊ณผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•œ ๋ฒˆ๋„ ํ•ด ๋ณธ์ ์ด ์—†๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ „๋ฌธ์ ์ธ ์šฉ์–ด๋“ค์„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ํ’€์–ด์„œ … wikidocs.net ๋ฆฌ์ŠคํŠธ(List) listName = [์š”์†Œ1, ์š”์†Œ2, ์š”์†Œ3, ...] ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ์œ„์—์„œ ๋ณด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๋Œ€๊ด„ํ˜ธ([ ])๋กœ ๊ฐ์‹ธ ์ฃผ๊ณ  ๊ฐ ์š”์†Ÿ๊ฐ’์€ ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•ด ์ค€๋‹ค. ๋˜๋Š” list() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. # list() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ listFunction = list("python") print(listFunction) # ๋น„์–ด์žˆ๋Š” ๋ฆฌ์ŠคํŠธ -> emptyList = list() ๋กœ ์ƒ์„ฑ๊ฐ€๋Šฅ emp.. 2023. 3. 20.
[C์–ธ์–ด] Pointer ๊ฐœ๋…์ •๋ฆฌ 1. pointer๋ž€? โ˜… ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ โ˜… ๊ธฐ๊ณ„์–ด๋‚˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด์ฒ˜๋Ÿผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ด์šฉ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ! โ˜… ๋ฐ์ดํ„ฐ์˜ ๋ณต์‚ฌ๋ฅผ ํ”ผํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ ์ž ํ• ๋•Œ ์‚ฌ์šฉ 2. ์ฃผ์†Œ ์—ฐ์‚ฐ์ž & #include int main(void){ int num = 10; //์ฃผ์†Œ ์—ฐ์‚ฐ์ž & ์‚ฌ์šฉ printf("num์˜ ์ฃผ์†Œ : %u", &num); return 0; } ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋ณ€์ˆ˜๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์€ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ถŒํ•œ์ด๊ณ  ์ปดํ“จํ„ฐ๋งˆ๋‹ค ์ฃผ์†Œ๋Š” ๋‹ฌ๋ผ์ง„๋‹ค. %p ์ฃผ์†Œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ˜•์‹ ์ง€์ •์ž(16์ง„์ˆ˜๋กœ ์ถœ๋ ฅ) %u ๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š” 10์ง„ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ 3. ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ โ˜… "ํฌ์ธํ„ฐ ๋ณ€์ˆ˜" ์ฆ‰, ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ์„ ์–ธ๋˜์–ด์•ผ ํ•œ๋‹ค. โ˜… ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€.. 2023. 3. 14.
[C์–ธ์–ด] MAC์—์„œ Visual Stdio Code๋กœ C์–ธ์–ด ์‹คํ–‰ํ•˜๊ธฐ 1. Visual Stdio Code - mac ์ „์šฉ์œผ๋กœ ์„ค์น˜ https://code.visualstudio.com/download Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications. code.visualstudio.com 2. ํ™•์žฅํŒฉ ์„ค์น˜ 3. ์ปดํŒŒ์ผ๋Ÿฌ.. 2023. 3. 13.
[graph] ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS, Breadth First Search) ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS, Breadth First Search) ์‹œ์ž‘ ์ •์ ์œผ๋กœ๋ถ€ํ„ฐ ์ธ์ ‘ํ•œ ์ •์ ๋“ค์„ ๋ชจ๋‘ ์ฐจ๋ก€๋กœ ๋ฐฉ๋ฌธํ•œ ํ›„ ๋ฐฉ๋ฌธํ–ˆ๋˜ ์ •์ ์„ ๋‹ค์‹œ ์‹œ์ž‘์ ์œผ๋กœ ํ•˜์—ฌ ์ธ์ ‘ํ•œ ์ •์ ๋“ค์„ ์ฐจ๋ก€๋กœ ๋ฐฉ๋ฌธํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ฐ€๊นŒ์šด ์ •์ ๋“ค์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ  ๋ฉ€๋ฆฌ ์žˆ๋Š” ์ •์ ๋“ค์€ ๋‚˜์ค‘์— ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœํšŒ ๋ฐฉ๋ฒ• ์ธ์ ‘ํ•œ ์ •์ ๋“ค์— ๋Œ€ํ•ด ์ฐจ๋ก€๋กœ ๋‹ค์‹œ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์„ ์ž…์„ ์ถœ(First-IN First-Out) ๊ตฌ์กฐ์ธ ํ(Queue) ์‚ฌ์šฉ BFS ์ˆ˜ํ–‰์ˆœ์„œ ํ๊ฐ€ ๊ณต๋ฐฑ์ด ๋  ๋•Œ๊นŒ์ง€ ๋นจ๊ฐ„ ์ƒ์ž ๋ถ€๋ถ„์„ ๋ฐ˜๋ณตํ•œ๋‹ค. BFS ๊ณผ์ • ํ‘œํ˜„ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Queue๊ฐ€ ๋น„์—ˆ์œผ๋ฏ€๋กœ ํƒ์ƒ‰ ์ข…๋ฃŒ ๊ฒฐ๊ณผ : 1 → 2 → 4 → 3 → 5 ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ๊ตฌํ˜„ํ•œ ๊ทธ๋ž˜ํ”„ BFS static void BFS(int[][] graph, int v) { /.. 2023. 3. 7.
[graph] ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS, Depth First Search) ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ(Graph Traversal) ๋˜๋Š” ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰(Graph Search) ๋ž€? ํ•˜๋‚˜์˜ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„์— ์žˆ๋Š” ๋ชจ๋“  ์ •์ ์„ ํ•œ๋ฒˆ์”ฉ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒƒ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS, Depth First Search) ์‹œ์ž‘ ์ •์ ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋จผ ๊ฒฝ๋กœ๊นŒ์ง€ ๊นŠ์ด ํƒ์ƒ‰ํ•ด๊ฐ€๋‹ค๊ฐ€ ๋” ์ด์ƒ ๊ฐˆ ๊ณณ์ด ์—†์œผ๋ฉด ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋งŒ๋‚ฌ๋˜ ๊ฐ„์„ ์ด ์žˆ๋Š” ์ •์ ์œผ๋กœ ๋˜๋Œ์•„์™€์„œ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์˜ ๊ฐ„์„ ์œผ๋กœ ํƒ์ƒ‰์„ ๊ณ„์†ํ•จ์œผ๋กœ์จ ๋ชจ๋“  ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœํšŒ๋ฐฉ๋ฒ• ๋งˆ์ง€๋ง‰ ๊ฐˆ๋ฆผ๊ธธ๋กœ ๋˜๋Œ์•„๊ฐ€์•ผํ•˜๋ฏ€๋กœ ํ›„์ž…์„ ์ถœ(Last-IN-First-Out) ๊ตฌ์กฐ์ธ ์Šคํƒ(Stack) ์‚ฌ์šฉ ์‚ฌ์‹ค์ƒ ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ ๋˜‘๊ฐ™์€ ๊ฐœ๋…์„ ์‚ฌ์šฉํ•œ๋‹ค. DFS ์ˆ˜ํ–‰ ์ˆœ์„œ ์Šคํƒ์ด ๊ณต๋ฐฑ์ด ๋  ๋•Œ๊นŒ์ง€ ๋นจ๊ฐ„ ์ƒ์ž ๋ถ€๋ถ„์„ ๋ฐ˜๋ณตํ•œ๋‹ค. DFS ๊ณผ์ • ํ‘œํ˜„ ↓ ↓ ↓ ↓ ↓ ↓ ↓ .. 2023. 3. 6.
728x90