์ „์ฒด ๊ธ€

My dev Note๐Ÿ“’

    [3์žฅ] ํ•จ์ˆ˜ : ํ•จ์ˆ˜ ๋‹น ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ํ•˜๋‚˜๋กœ!

    - ๋‚˜๋Š” ์ž‘์€ ํ•จ์ˆ˜๊ฐ€ ์ข‹๋‹ค๊ณ  ํ™•์‹ ํ•œ๋‹ค. - ํ•จ์ˆ˜๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋ฅผ ์ž˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋งŒ์„ ํ•ด์•ผ ํ•œ๋‹ค. - ์ฝ”๋“œ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ์ด์•ผ๊ธฐ์ฒ˜๋Ÿผ ์ฝํ˜€์•ผ ์ข‹๋‹ค. ํ•œ ํ•จ์ˆ˜ ๋‹ค์Œ์—๋Š” ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•œ ๋‹จ๊ณ„ ๋‚ฎ์€ ํ•จ์ˆ˜๊ฐ€ ์˜จ๋‹ค. ์ฆ‰, ์œ„์—์„œ ์•„๋ž˜๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ์œผ๋ฉด ํ•จ์ˆ˜ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•œ ๋ฒˆ์— ํ•œ ๋‹จ๊ณ„์”ฉ ๋‚ฎ์•„์ง„๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ๋‚ด๋ ค๊ฐ€๊ธฐ ๊ทœ์น™์ด๋ผ ๋ถ€๋ฅธ๋‹ค. - "์ฝ”๋“œ๋ฅผ ์ฝ์œผ๋ฉด์„œ ์ง์ž‘ํ–ˆ๋˜ ๊ธฐ๋Šฅ์„ ๊ฐ ๋ฃจํ‹ด์ด ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ๊บ ๋—ํ•œ ์ฝ”๋“œ๋ผ ๋ถˆ๋Ÿฌ๋„ ๋˜๊ฒ ๋‹ค." - ๊ธธ๊ณ  ์„œ์ˆ ์ ์ธ ์ด๋ฆ„์ด ์งง๊ณ  ์–ด๋ ค์šด ์ด๋ฆ„๋ณด๋‹ค ์ข‹๋‹ค.

    [2์žฅ] ์งง๊ฒŒ ์ž‘์„ฑํ•˜์ž + [3์žฅ] ๋‹จ์ˆœํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์ž

    ๊ธด ๋‹จ์œ„ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ, ์žฌ์‚ฌ์šฉ, ์ดํ•ด๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ : ์ฝ”๋“œ ๋‹จ์œ„๋ฅผ 15์ค„๋กœ ์ œํ•œํ•˜๋ผ ์‹ค์ฒœ : ์ปค๋‹ค๋ž€ ๋‹จ์œ„๊ฐ€ ์žˆ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ 15์ค„์˜ ๋‹จ์œ„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ž˜๊ฒŒ ๋‚˜๋ˆ„์–ด์ค€๋‹ค. ํšจ๊ณผ : ์ด ์ง€์นจ์€ ์ž‘์€ ๋‹จ์œ„๊ฐ€ ๋ถ„์„, ํ…Œ์ŠคํŠธ, ์žฌ์‚ฌ์šฉ์ด ์‰ฝ๋‹ค๋Š” ์ ์—์„œ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒํ•ด์ค€๋‹ค. - ํ•œ ๊ฐ€์ง€ ์ผ(์—ญํ• )๋งŒ ํ•˜๋Š” ์งง์€ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ, ์œ ์ง€๋ณด์ˆ˜, ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. - ์ž‘์€ ๋‹จ์œ„๋Š” ๊ธด ๋‹จ์œ„์— ๋น„๊ตํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํ•„์š”์„ฑ์— ์ ํ•ฉํ•œ ๊ฒฝํ–ฅ์ด ์žˆ์–ด ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. (์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์€ ์ „์ฒด ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.) - ์ตœ๋Œ€ํ•œ ๋…ธ๋ ฅํ•ด๋„ 15์ค„์ด ๋„˜์–ด๊ฐ„๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์„œ๋“  ์ด๊ฑธ ๋‹จ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - 15์ค„์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์–ด๋–ป๊ฒŒ ๊ธฐ์ˆ ์„ ์ถ”๊ฐ€ํ• ์ง€ ๊ณ ๋ฏผ์„ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ง€๊ธˆ ์ž‘์„ฑ ์ค‘์ธ ์ฝ”๋“œ์— ์ถ”๊ฐ€ํ• ์ง€ ํ˜น์€ ๋ณ„..

    BFS ์ฝ”๋“œ

    bfs ํ•จ์ˆ˜์—์„œ๋Š” (1) push()ํ•˜์ž๋งˆ์ž check=true๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  (2) ํ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š๋Š” ํ•œ ๊ณ„์† ๋ฐ˜๋ณตํ• ๋•Œ๋งˆ๋‹ค front()๋ฅผ pop() ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๊ฝค๋‚˜ ์ค‘์š”ํ•ด๋ณด์ธ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ์ฒซ๋…ธ๋“œ๋Š” ๊ทธ์•ผ๋ง๋กœ ํ์— ๋“ค์–ด๊ฐ€์ž๋งˆ์ž(push) ๋น ์ ธ๋‚˜์˜ค๊ฒŒ(pop)๊ฒŒ ๋œ๋‹ค. main ํ•จ์ˆ˜์—์„œ๋Š” ์ฐจ๋ถ„ํ•˜๊ฒŒ ์ธ์ ‘๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. #include #include #include using namespace std; vector numbers[7]; int check[7]; void bfs(int start) { queue que; que.push(start); check[start] = true; while (!que.empty()) { int x =que.front(); que.pop(); cout

    Raycast ์ด์šฉํ•˜์—ฌ ํด๋ฆญํ•œ ์ง€์ ์œผ๋กœ ์ด๋™ํ•˜๊ธฐ

    VR๊ฐœ๋ฐœ์„ ํ•˜๋˜ ๋„์ค‘ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์›€์ง์ด์ง€ ์•Š๊ณ ๋„ ํด๋ฆญํ•œ ์ง€์ ์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด๋™ํ•ด์ฃผ๊ธฐ ์œ„ํ•œ ๋ฐœ์ƒ์„ ์—ฐ๊ตฌํ•˜๋‹ค๊ฐ€ ์ง  ์ฝ”๋“œ์˜€์ง€๋งŒ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์•˜๋‹ค. (1) ํ…Œ์ด๋ธ”, ๊ฒŒ์‹œํŒ ๋“ฑ์˜ ์ด๋™ ์œ„์น˜๊ฐ€ ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ํ™•์žฅ์„ฑ ์ธก๋ฉด์—์„œ ๋”์šฑ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. (2) ์—…๋ฐ์ดํŠธ๋ฌธ ์•ˆ์˜ if๋ฌธ ์•ˆ์— ์žˆ๋Š” ๋กœ์ง์„ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌ(๋…๋ฆฝ)์‹œํ‚ค๋Š” ๊ฒƒ์ด ์žฅ๊ธฐ์ ์ธ ์œ ์ง€๋ณด์ˆ˜์— ๋”์šฑ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. using System.Collections; using System.Collections.Generic; using UnityEngine; public class tempPlayer : MonoBehaviour { public GameObject head;//ํ”Œ๋ ˆ์ด์–ด public GameObject tablePos..

    ์ด๋ฒคํŠธ

    ์ด๋ฒคํŠธ๋Š” ํ”Œ๋ ˆ์ด์–ด๊ฐ€ '์˜ˆ์ƒ๋œ ์•Œ๋ฆผ'์œผ๋กœ ์ธ์ง€ํ•œ๋‹ค. ์ฑ…์ƒ์— ํŠน์ •์ธ ์ „์šฉ ์งํ†ต์ „ํ™”๊ฐ€ ๋†“์—ฌ์žˆ์„ ๋•Œ ๋ฒจ์ด ์šธ๋ฆฌ๋ฉด ๋ฐ›๊ธฐ๋„ ์ „์— ํŠน์ •์ธ์ด ์ „ํ™”ํ–ˆ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๊ณ  ํŠน์ •์ธ์—๊ฒŒ ๋ฌด์–ธ๊ฐ€๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒคํŠธ๋„ ์ด์™€ ์œ ์‚ฌํ•œ ์›๋ฆฌ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์ด๋ฒคํŠธ ๋ฐœ์ƒ์— ๋Œ€ํ•ด ์ค€๋น„๋ฅผ ๋Š˜ ํ•˜๊ณ  ์žˆ๊ณ  ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ์— ๋”ฐ๋ผ ์˜ˆ์ •๋œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋˜ํ•œ ์ด๋ฒคํŠธ์™€ ํ•จ๊ป˜ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด ์–ด๋–ค ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค„ ์ˆ˜๋„ ์žˆ๋‹ค. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Eventsc : MonoBehaviour { //์ด๋ฒคํŠธ๋Š” ์œ„์ž„์„ ์‚ฌ์šฉํ•ด ํ†ต์‹ ์˜ ํ˜•ํƒœ์™€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ „๋‹ฌํ•  ์ •๋ณด์˜ ์ข…๋ฅ˜..

    Delegate

    Delegate ์œ„์ž„์ด๋ž€ ์ „์ฒด ์ž‘์—… ์ค‘ ์ผ๋ถ€๋ฅผ ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ๋Œ€์‹ ํ•ด ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค. ๋˜ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ์œ„์ž„์œผ๋กœ C# ์ œ๋„ˆ๋ฆญ๊ณผ Action ๋˜๋Š” Action๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค. ์œ„์ž„์„ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š”ํ•œ ๋‘ ๊ฐœ์˜ ํŒจํ„ด์€ ์„ค์ •๊ฐ€๋Šฅ๋ฉ”์†Œ๋“œ(Configurable method)ํŒจํ„ด๊ณผ ์œ„์ž„(delegation) ํŒจํ„ด์ด๋‹ค. 1. ์„ค์ • ๊ฐ€๋Šฅ ๋ฉ”์†Œ๋“œ ํŒจํ„ด ์ผ์ด๋‚˜ ํ•จ์ˆ˜์˜ ์ผ๋ถ€๋ฅผ ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ๋กœ ์ „๋‹ฌํ•ด ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์ด๋‹ค. ์ด ํŒจํ„ด์€ ๊ณ ์œ ํ•œ ๋ฐฉ์‹์„ ๊ฐ€์ง„ ๊ฐœ๋ณ„ ์ฝ”๋“œ๊ฐ€ ๊ณตํ†ต๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๊ฑท๊ธฐ, ๋›ฐ๊ธฐ, ํƒ์ƒ‰ ๋“ฑ์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค. ์ด ๋ชจ๋“  ์ž‘์—…์€ ์บ๋ฆญํ„ฐ์˜ ๊ธฐ๋ณธ ํ–‰์œ„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. using System.Collections; using System.Collections.G..

    [C++]์›ํ˜•ํ ๊ตฌํ˜„, ์ค„์„œ๊ธฐ ์˜ˆ์‹œ

    ํ๋Š” ๊ฐ€์žฅ ๋จผ์ € ์ž…๋ ฅํ•œ ์ž๋ฃŒ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ •๋ฅ˜์žฅ์—์„œ, ์‚ฌ๋žŒ๋“ค์ด ์ค„์ง€์–ด ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ ๋ฒ„์Šค๊ฐ€ ์˜ค๋ฉด ์ˆœ์„œ๋Œ€๋กœ ํƒ€๋Š” ์˜ˆ์˜๋ฒ”์ ˆ์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ํ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ idea๋Š” ๋ฐฐ์—ด ๋‚ด head(์ฒ˜์Œ ์„  ์‚ฌ๋žŒ)์™€ tail(๋งˆ์ง€๋ง‰์— ์„  ์‚ฌ๋žŒ) ์ธ๋ฑ์Šค์„ ์žก๊ณ  enqueue(์ค„์ด ๊ธธ์–ด์ง€๋Š” ์ƒํƒœ) ํ•  ๋•Œ๋งˆ๋‹ค tail++; dequeue(์•ž์‚ฌ๋žŒ๋ถ€ํ„ฐ ๋ฒ„์Šค์— ํƒ€์„œ ์ค„์ด ์งง์•„์ง€๋Š” ์ƒํƒœ) ํ•  ๋•Œ๋งˆ๋‹ค head++;์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ์—ด์„ ์•„์ฃผ ํฌ๊ฒŒ ์žก์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ํ์˜ ๋ฐฐ์—ด ํฌ๊ธฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ head๊ฐ€ ๋„๋‹ฌํ•˜์—ฌ ์•ž์ชฝ์˜ ๋นˆ ๋ฐฐ์—ด(head๊ฐ€ ๊ฑฐ์ณ์ง€๋‚˜๊ฐ„)๋“ค์„ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์—†์–ด ๋ฉ”๋ชจ๋ฆฌ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•œ ํŽธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์›ํ˜•ํ๋ฅผ ์“ด๋‹ค๋ฉด ์„ ํ˜• ํ์— ๋น„ํ•˜์—ฌ ๋™์ผํ•œ ๋ฐฐ์—ด์ด์ง€๋งŒ ๊พธ์ค€ํ•˜๊ฒŒ head๊ฐ€ ๊ฑฐ์ณ์ง€๋‚˜๊ฐ„ ์ธ๋ฑ์Šค..