๋ชฉ๋ก์ ์ฒด ๊ธ (1005)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dKg2gV/btsxZxRyPZG/cokoRn1kg74L07rHOOojw0/img.png)
https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview Install Ubuntu on WSL2 and get started with graphical applications | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com ๐ To check that you have the latest package lists, type: sudo apt update ๐ Then, star..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bh17tD/btst86Y35YB/9xCqnxg2WKRuvX0mxazUO1/img.png)
โ๏ธ ContactBook โ๏ธ ์ ํ๋ฒํธ๋ถ ํ๋ก๊ทธ๋จ์ ๊ฐ์๋ฅผ ๋ง๋ค๊ณ ํ๋ฉด๊ณผ ๋ฉ๋ด์ ๊ตฌ์ฑํ๋ฉฐ ๊ธฐ๋ฅ์ ํ์ฅํด๋ณด์!!! ๐๏ธ 2์กฐ์ ๊ท์น 1๏ธโฃ commit message โ[Feat] : ๊ธฐ๋ฅ ์ถ๊ฐ ๐[Chore] : ์คํ ํ์ผ ๋ฐ ์์ ์ ๐ง[Refactor] : ์ฝ๋ ์์ (๋ฆฌํฉํ ๋ง) ๐[Memo] : ์ฃผ์ ์์ ๐จ[Alert] : ๊ธฐ๋ฅ ์ค๋ฅ ์โ 2๏ธโฃ ๊นํ๋ธ push ์ ๐จ ์๋ฆฌ๊ธฐ (์ถฉ๋ ๋ฐ์!! Pull ํ๊ณ ์์ ํ์ธ์!!) 3๏ธโฃ 1์ผ 1 issue ์์ฑ 4๏ธโฃ dev branch ์ 1์ฐจ Merge, main branch ์ ์ต์ข Merge โ๏ธ ํ๋ก์ ํธ โ๏ธ ๐จ๐ป 1. ํ๋ก์ ํธ ๊ฐํธ ์ฐจํธ ContactBook ๊ฐ์์ง๊ธฐ (September 7, 2023) ContactBook ๊ฐ์ ๊ตฌ์ฒดํํ๊ธฐ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3mHDM/btssqugxkHY/JTOaKg3EIjk6o1TYm6t0lk/img.png)
๐ ๋ฌธ์ ๊ทธ๋ํ๋ฅผ DFS๋ก ํ์ํ ๊ฒฐ๊ณผ์ BFS๋ก ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ , ๋ ์ด์ ๋ฐฉ๋ฌธํ ์ ์๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ข ๋ฃํ๋ค. ์ ์ ๋ฒํธ๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ด๋ค. ๐ ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ์ด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ด ์์ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๊ฐ์ ์ ์๋ฐฉํฅ์ด๋ค. ๐ ์ถ๋ ฅ ์ฒซ์งธ ์ค์ DFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋ค์ ์ค์๋ BFS๋ฅผ ์ํํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. V๋ถํฐ ๋ฐฉ๋ฌธ๋ ์ ์ ์์๋๋ก ์ถ๋ ฅํ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/beRp3W/btsrRP5Y1vC/9TxlXr1qgCCY83wdg0xEK1/img.png)
๐ printf() ํจ์ : ํ์ ๋ฌธ์์ด์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ํจ์ โ ํ์ ๋ฌธ์ : ๋ฐ์ดํฐ๋ฅผ ์ /์ถ๋ ฅ ํ ๋, ์ปดํจํฐ๊ฐ ๊ทธ ํ์์ ์ธ์ํ ์ ์๋๋ก, ๋ฐ์ดํฐ์ ํด์์ ์ง์ํด์ฃผ๋ ๋ฌธ์ โ ๊ฐ๋ณ ์ธ์ : ํ์ ๋ฌธ์๊ฐ ๋ช ๊ฐ๋ ๋ค์ด์๋์ง์ ๋ฐ๋ผ ์ธ์ ์๊ฐ ๋ฌ๋ผ์ง๋ค โ ๋ฉ๋ชจ๋ฆฌ์ ๋ณํ ๋ฐฐ์ด๋ก ๋ฌธ์์ด ์ ์ฅ : ์๋ฃํ์ char๋ก ์ ์ธํ๊ณ Hello๋ผ๋ 5๊ธ์๋ฅผ ๋ฐฐ์ด์ ๋ฃ์ : ๋ฐฐ์ด ํฌ๊ธฐ๊ฐ 6์ธ ์ด์ ๋ ๋ฌธ์์ด์ ํญ์ NULL๋ฌธ์๋ฅผ ๋ง์ง๋ง์ ํฌํจ ํ๊ธฐ ๋๋ฌธ : ๋ฐฐ์ด๋ก ๋ฌธ์์ด์ ์ ์ฅํ๊ฒ ๋ ๊ฒฝ์ฐ ๊ตฌ์ฒด์ ์ผ๋ก ex) 1023๋ฒ์ง์ ์ ์ฅ์ด ๋๋ค ํฌ์ธํฐ๋ก ๋ฌธ์์ด ์ ์ฅ : ์๋ฃํ์ ๋์ผํ๊ฒ char ์ด์ง๋ง ํฌ๊ธฐ(size)๊ฐ ์๊ณ ๊ทธ๋ฅ ํฌ์ธํฐ์ ๋ฌธ์์ด์ ์ ์ฅ : Hello ๋ฌธ์์ด์ ์ฒซ ์ฃผ์๋ง ๊ธฐ์ตํ๊ณ ๋๋จธ์ง๋ฅผ ํด๊ฒฐ ํ๊ฒ ๋ค..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/th68Y/btsrEoOOwy4/I3lhSd0Ts24pDZTfiUPVGk/img.png)
๐ ๋ฌธ์ ์ ์ถ๋ ฅ ํจ์ โ getchar() ํจ์ : ์ฌ์ฉ์๊ฐ ํค๋ณด๋๋ก ์ ๋ ฅํ ๋ฌธ์ ํน์ ๋ฌธ์์ด์์ ํ ๊ธ์๋ฅผ ์ฝ์ด์ ๋ฐํํ๋ ํจ์ : ํจ์๊ฐ ๋ฌธ์๋ฅผ ์ฝ์ด ์ค๋ ๊ณณ์ ์ด๋ค ๋ฉ๋ชจ๋ฆฌ์ธ๋ฐ ๋ณดํต ๊ทธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฒํผ(Buffer) โ putchar( ) ํจ์ : ๋ฌธ์๋ฅผ ๋ชจ๋ํฐ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํจ์ // : ํต์ฌ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ํจ์๋ค์ ์ ์ #include void main() { // getchar( ) ํจ์๊ฐ ํธ์ถ๋์์ ๋ // ํค๋ณด๋์ ๋ํ ์ ์ถ๋ ฅ ๋ฒํผ๊ฐ ๋น์ด ์๋ ์ํ char ch; ch = getchar(); // putchar( ) ๋ฌธ์๋ฅผ ๋ชจ๋ํฐ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํจ์ putchar(ch); ch = getchar(); putchar(ch); ch = getchar(); putchar(ch); } // TES..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yiTXA/btsrRQp6iGu/UGcvIEKp3oiWYW0DlXeck0/img.png)
๐ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๊ธฐ๋ณธ ์ด๋ก โ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ ๋ ์ง์คํฐ : CPU ๋ด๋ถ์ ์์ ๋ฉ๋ชจ๋ฆฌ๋ก, ํ๋ฐ์ฑ์ด๋ฉฐ ์๋๊ฐ ๊ฐ์ฅ ๋น ๋ฅด๊ณ , ๊ธฐ์ต ์ฉ๋์ด ๊ฐ์ฅ ์ ๋ค ์บ์ : L1, L2, L3 ์บ์๋ฅผ ์ง์นญํ๊ณ ํ๋ฐ์ฑ์ด๋ฉฐ, ์๋๊ฐ ๋น ๋ฅด๋ ๊ธฐ์ต ์ฉ๋์ด ์ ๋ค ์ฃผ๊ธฐ์ต์ฅ์น(๋ฉ๋ชจ๋ฆฌ) : RAM์ ๊ฐ๋ฆฌํค๊ณ ํ๋ฐ์ฑ์ด๋ฉฐ, ์๋์ ๊ธฐ์ต ์ฉ๋์ ๋ณดํต์ด๋ค ๋ณด์กฐ๊ธฐ์ต์ฅ์น(๋์คํฌ) : HDD, SDD๋ฅผ ์ผ์ปฌ์ผ๋ฉฐ ๋นํ๋ฐ์ฑ์ด๋ค. ์๋๋ ๋ฎ์ผ๋ฉฐ ๊ธฐ์ต ์ฉ๋์ด ๋ง๋ค โ ๋ฉ๋ชจ๋ฆฌ - ์ฝ๋(code) ์์ญ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ๋(code) ์์ญ์ ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ CPU๋ ์ฝ๋ ์์ญ์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ํ๋์ฉ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌ - ๋ฐ์ดํฐ(data) ์์ญ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ(data) ์์ญ์ ํ๋ก๊ทธ๋จ์ ์ ์ญ ๋ณ์์ ์ ์ (static) ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ ํ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l8oWw/btsrH5AUU0k/uTHKSSHod9W1Ao9NmcqjlK/img.png)
๐ char [], char * ์ ์ฐจ์ด์ // : ํต์ฌ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ํจ์๋ค์ ์ ์ #include // #4. ๋จ์ ๋์ ์ฐ์ฐ์ int main(void) { // ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ์ ์ฅ (๋ณ์ ์ฑํฅ์ ๋ฌธ์์ด, ๊ฐ ๋ณํ ๊ฐ๋ฅ) char *szName[3]; szName[0] = "HelloWorld"; szName[1] = "C Programming"; szName[2] = "Studying"; for (int i = 0; i %s\n", i, szName[i]); printf("szName[%d] -> %d\n", i, &szName[i]); } // charํ ๋ฐฐ์ด์ ๊ฐ๊ฐ์ ๋ฌธ์๊ฐ ๊ทธ๋๋ก ์ ์ฅ (์์ ์ฑํฅ์ ๋ฌธ์์ด, ๊ฐ ๋ณํ ๋ถ๊ฐ๋ฅ) cha..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c5xXvd/btsrSLH4kgH/5EIYUPL4QVAKuGRdacyWz1/img.png)
๐ ํฌ์ธํฐ : & ํฌ์ธํฐ ์ฐ์ฐ์๋ ๋ณ์๋ช ์์ ๋ถ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ : * ๊ธฐํธ๋ ํฌ์ธํฐ ์ฐ์ฐ์ : ๋ค๋ฅธ ๋ณ์์ ์ฃผ์๊ฐ์ ์ ์ฅํ๋ ์ฃผ์ ์ ์ฅ์ฉ ๋ณ์ : ๋ชจ๋ ๋ณ์๋ ๋ณ์๋ช ์ด์ธ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ ๐ ๋ณ์ : ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฌ์ง ์ด๋ฆ : ์๋ฃํ์ ์ผ์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ํ๋ ๋ฐฉ๋ฒ : ๋ณ์๋ ํด์ํ ๋์ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ธ ์ด๋ฆ : ํจ์ ๋ด๋ถ์์ ๋ณ์๋ฅผ ์ ์ธํ ๊ฒฝ์ฐ ๋ชจ๋ ์คํ(Stack) ์์ญ์ ํ ๋น โ ๋ณ์์ ์ ์ธ : ๋ณ์๋ ๋ฐ๋์ ์ ์ธ ์งํ์ ์ ์ธํด์ผ ํ๋ฉฐ, ์ฐ์ฐ ํ์๋ ์ ์ธํ๋ฉด ์ ๋๋ค : ํ๋ก๊ทธ๋จ์ ํ๋ฒ ์์ฑํ๊ณ ๋๋๋ ๊ฒ์ด ์๋๋ผ ๊ณ์ ๋ณํํ๊ณ ์ ์ง๋ณด์ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค์ : ๋ค๋ฅธ ์ฌ๋์ด ์์ฑํ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํด์๋ ๋ณ์ ์ด๋ฆ์ ์ง๋ ๊ท์น์ ๋ฐ๋ฅด๊ณ ์ฃผ์์ ์ ์ฌ์ฉ ์๋ฃํ ๋ณ..