๋ชฉ๋กํ๋ก๊ทธ๋๋ฐ (135)
Bibi's DevLog ๐ค๐
Sync, Async / Serial, Concurrent https://babbab2.tistory.com/64?category=831129 https://cskime.tistory.com/18 Sync : synchronous (๋๊ธฐ) : ๋์ ๋ฐ์ํ๋. ์๋ฏธ : "์์ฒญ์ ๋ํ ์๋ต"์ด ๋์์ ๋ฐ์ํ๋. ์ฆ ๋ด ์์ ์ด ๋๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ์์ ์ ์ํํ์ง ์๋๋ค๋ ์๋ฏธ = "์์ฐจ์ " ํ์์ ๋น๋๊ธฐ ์์ ์์ด ํ๋ ์ฝ๋ฉ์ด ๋๊ธฐ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง. ๋๊ท๋ชจ์ ์์ ์ ๋๊ธฐ๋ก ์ฒ๋ฆฌํ๋ฉด ์์ ์๋ ์ ํ - ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํด์ผ ํจ Async : asynchronous (๋น๋๊ธฐ) : ๋์์ ๋ฐ์ํ์ง ์๋. ์๋ฏธ : "์์ฒญ์ ๋ํ ์๋ต"์ด ๋์์ ๋ฐ์ํ์ง ์๋๋ค. ์ฆ ๋ด ์์ ์ด ๋๋๊ธฐ ์ ์ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๋ค๋ ..
[210701] Hello Coding ์๊ณ ๋ฆฌ์ฆ 4. ํต ์ ๋ ฌ ๋ถํ ์ ๋ณต divide and conquer : ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ๊ฐ์ฅ ์ ๋ช ํ ์ฌ๊ท์ ์๊ณ ๋ฆฌ์ฆ. ํน์ ์๊ณ ๋ฆฌ์ฆ(๊ธฐ์ )์ด ์๋, ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ก ์ด๋ค. ๋ถํ ์ ๋ณต์ ์ฆ๋ช - '์ ํด๋ฆฌ๋ ํธ์ ๋ฒ Euclid's algorithm' ์ฐธ๊ณ ํ๊ธฐ ์์ : ๋๋ถ๊ฐ ์ด๋ค ๋ ์ ๋๊ฐ์ ์ ์ฌ๊ฐํ ํ ์ง๋ก ๋๋๊ณ ์ถ์ ๋. ๋ถํ ์ ๋ณต์ผ๋ก ํธ๋ ๋จ๊ณ. ๊ธฐ๋ณธ ๋จ๊ณ๋ฅผ ์ฐพ๋๋ค. ์ด ๋ถ๋ถ์ ๊ฐ๋ฅํ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฌธ์ ์ฌ์ผ ํ๋ค. ์ ์ฒด ๋ฌธ์ ๊ฐ ๊ธฐ๋ณธ ๋จ๊ณ๊ฐ ๋ ๋๊น์ง ๋๋๊ฑฐ๋ ์๊ฒ ๋ง๋ ๋ค. ๋ถํ ์ ๋ณต์์๋ ์ฌ๊ท ํจ์๋ฅผ ํธ์ถํ ๋ ๋ง๋ค ๋ฌธ์ ๋ฅผ ์๊ฒ ๋๋์ด์ผ ํ๋ค. ์์ Q. ๋ฐฐ์ด์ ๋ชจ๋ ์ซ์๋ฅผ ๋ํ ํฉ๊ณ ๊ตฌํ๊ธฐ. ๋ฐ๋ณต๋ฌธ์ด ์๋ ์ฌ๊ท ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ๊ธฐ๋ณธ ๋จ๊ณ๋ฅผ ์ฐพ๋๋ค. (..
3์ฅ. ์ฌ๊ท ์์ํ๊ธฐ์ ์์ ์์ ์ฝ๋ ์ง์ ์คํํด ๋ณด๊ธฐ ์ ์ด๋ ํ ๋ฒ์ ์ฐํ๊ณผ ์ข ์ด๋ฅผ ๊ฐ์ง๊ณ ์ฌ๊ทํจ์์ ์คํ ๊ณผ์ ์ ๋ฐ๋ผ๊ฐ ๋ณด๊ธฐ. ์์ฌ์ฝ๋(pseudocode, ์๋์ฝ๋) : ๋ฌธ์ ์ ํ์ด ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ์ฝ๋๋ก ์ค๋ช ํ ๊ฒ. ์ค์ ๋ก ๋์ํ์ง ์์ ์ฌ๊ท recursion ์ฌ๊ท ํจ์๊ฐ ์๊ธฐ ์์ ์ ํธ์ถํ๋ ๊ฒ. ๋ฌธ์ : ์ฌ๋ฌ ๊ฒน์ผ๋ก ํฌ์ฅ๋ ์์๋ค์ด ์๊ณ , ๊ทธ ์์๊ฐ ๋ ๋ค๋ฅธ ์์๋ค ์์ ๋ค์ด ์๋ค. ๋ช ๊ฐ์ผ์ง ๋ชจ๋ฅด๋ ์์๋ค ์ค ์ด์ ๊ฐ ๋ค์ด์๋ ์์๋ฅผ ์ฐพ์์ผ ํ๋ค. ๋ฐฉ๋ฒ 1 : ๋ฐ๋ณต๋ฌธ ์ฌ์ฉํ๊ธฐ ๋ด๋ถ๋ฅผ ํ์ธํ ์์๋ฅผ ์์๋๋๋ค(=์์ ๋๋ฏธ). ์์ ํ๋๋ฅผ ์ง์ด์ ๋ด๋ถ๋ฅผ ํ์ธํ๋ค. ๋ง์ฝ ์์ ์์๊ฐ ์๋ค๋ฉด, ํ์ธํ ์์ ๋๋ฏธ์ ๋์ ๋ค 2๋ก ๋์๊ฐ๋ค. ๋ง์ฝ ์์ ์ด์ ๊ฐ ์๋ค๋ฉด ์์ ์ ์ข ๋ฃํ๋ค. ์๋๋ ์ ๊ณผ์ ์ ๋..
[210630] (์ด์ ์ ์ด์ด์ ์์ฑ) Hello Coding ์๊ณ ๋ฆฌ์ฆ 2์ฅ. ์ ํ ์ ๋ ฌ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ์ ํ ์ ๋ ฌ์ ๊ดํด ๊ณต๋ถํ๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ํ๋ ๋ฐฉ๋ฒ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์ ๋์ ๋ฐฉ์. ์์ฒญ๋๊ฒ ๋ง์ ์๋์ด ์๊ณ , ๊ฐ ์๋์๋ ์ฃผ์๊ฐ ๋ถ์ด ์๋ค. ๋ฉ๋ชจ๋ฆฌ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ ์ฅํ ๋๋ ์ปดํจํฐ์๊ฒ ๊ณต๊ฐ์ ์์ฒญํ๋ค. ์ฌ๋ฌ ๊ฐ์ ์์๋ฅผ ์ ์ฅํ ๋, '๋ฐฐ์ด'๊ณผ '๋ฆฌ์คํธ' ๋ ๋ฐฉ์ ์ค ํ๋๋ฅผ ์ ํํ๋ค. ๋ฐฐ์ด vs ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ฐฐ์ด (array) ์น๊ตฌ๋ค๊ณผ ์ํ๋ฅผ ๋ณด๋ฌ ๊ฐ์ ์๋ฆฌ๋ฅผ ์ฐพ์ ๋์ ๋น์ ํ ์ ์๋ค. 3๋ช ์ด์ ์ข์์ ์์ฝํ๋๋ฐ ํ ๋ช ์ด ๋ ์๋ค๋ฉด, 4๋ช ์ด์ ๋ถ์ด ์์ ์ ์๋ ์ข์์ผ๋ก ๋ค ๊ฐ์ด ์ฎ๊ฒจ ์์์ผ ํจ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ ๊ฐ์ ์๋ฃํ์ด์ด์ผ ํ๋ค. ์ฅ์ : READ๊ฐ ๋น ๋ฅด๋ค. ์ธ๋ฑ์ค index : ๋ฐฐ์ด์์๋..
[210628] Hello Coding ์๊ณ ๋ฆฌ์ฆ 1์ฅ. ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ค์ด๊ฐ๋ ๊ธ ์๊ณ ๋ฆฌ์ฆ : ์ด๋ค ์ผ์ ํ๊ธฐ ์ํ ๋ช ๋ น์ ์งํฉ ์ฑ๋ฅ ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ฅ๋จ์ ๊ณผ ์ฐจ์ด์ ์ ์ดํดํ๊ณ ์ธ ์ค ์์์ผ ํ๋ค. ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ / ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๋ ๊ฒ๋ง์ผ๋ก๋ ์ฑ๋ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์๋ค. ๋จ์ ํ์ simple search ํ์ ๋ฌธ์ ๋ฅผ ํ ๋ ์ฌ์ฉ. ๋์ : ๋จ์ํ ์์ ํ๋ํ๋๋ฅผ ๋ง๋์ง ์๋์ง ์ผ์ผ์ด ํ์ธํ๋ ๋ฐฉ์ n๊ฐ์ ์์ ๋ฆฌ์คํธ์์ ์ต๋ n๋ฒ๋ง์ ์ ๋ต์ ์ฐพ์ ์ด์ง ํ์ binary search ํ์ ๋ฌธ์ search ๋ฅผ ํ ๋ ์ฌ์ฉ. ์ด์ง ํ์์ ๋งค ๋จ๊ณ๋ง๋ค ์ ๋ฐ์ ํ๋ณด๋ค์ ์์จ ์ ์๋ค. input : ์ ๋ ฌ๋ ์์ ๋ฆฌ์คํธ output : ์ํ๋ ์์๊ฐ ์์ผ๋ฉด ๊ทธ ์์น๋ฅผ ๋ฐํ. ์๋๋ฉด null ๋ฐํ. ๋์ ์ ..
ํ๋ก๊ทธ๋๋จธ์ค Lv1 - ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ class Solution { public int[] solution(long n) { String nStr = Long.toString(n); String[] nStrArr = nStr.split(""); int length = nStr.length(); int[] answer = new int[length]; for (int i = 0; i < length; i++) { answer[i] = Integer.parseInt(nStrArr[length-i-1]); } return answer; } }ํผ์์๋ ์ ํด๋๋์? : ๋ฌด์ํ ๊ตฌ๊ธ๋ง ๋์ โญ ๋งํ ๋ถ๋ถ : ํจ์จ์ฑ์ ์ํด ๋ต์ ๋ฃ์ด์ง ์ซ์๋ ๋นผ์ผ ํ ๊ฒ ๊ฐ์๋ฐ ์ด๋ป๊ฒ ๋นผ์ง? ๋์๋ฆฌ * 10์ ๋ฐฐ์ ..
๊น ์ปค๋ฐ๋ฉ์์ง ์์ ํ๊ธฐ ์ถ์ฒ : ๊น ์ปค๋ฐ๋ฉ์์ง ์์ . ๊ฐ์ฌํฉ๋๋ค๐โ๏ธ 1.์์ง ์ปค๋ฐ์ด ๋ก์ปฌ์ ์ฅ์์ ์์ ๋ ๋ก์ปฌ ์ ์ฅ์์์ ์ปค๋ฐ์ ํ์ง๋ง, push๋ ์์ง ํ์ง ์์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ต๊ทผ์ ์ปค๋ฐ ์์ ํ๊ธฐ git commit --amend ๋ ์ค๋๋ ์ปค๋ฐ ์์ ํ๊ธฐ, ๋๋ ํ ๋ฒ์ ์ฌ๋ฌ ์ปค๋ฐ ์์ ํ๊ธฐ git log๋ก ์ปค๋ฐ๋ด์ญ์ ๋ณด๋ฉฐ ์ด๋ค ์ปค๋ฐ์ ์์ ํ ์ง ํ์ธํ๋ค. git rebase -i HEAD~์ซ์ : ํ์ฌ ๋ธ๋์น์์ ๊ฐ์ฅ ์ต๊ทผ์ ์ปค๋ฐ ์ซ์๊ฐ๋ฅผ ๋ณด์ฌ์ค๋ค. vim์ด ์ด๋ฆฌ๊ณ ์ต๊ทผ ์ปค๋ฐ๋ค์ด ์๋์ ๊ฐ์ด ๋ํ๋๋ค. pick e499d89 Delete CNAME pick 0c39034 Better README pick f7fde4a Change the commit message but push the same com..
.gitignore๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ์ฌ์ฉ ๋ฐฉ๋ฒ .gitignore๋ฅผ ์ฌ์ฉํ๋ ์ด์ ํ์ผ ๋ฐฑ์ ์ ๋ณด, ์ ํ ๋น๋ ์ ๋ณด ๋ฑ์ ๋ก์ปฌ ๊ตฌ์ฑ์ ์๊ฒฉ ์ ์ฅ์์ ์ฌ๋ฆฌ์ง ์๊ธฐ ์ํด (git์ด ์ด ํ์ผ๋ค์ trackํ์ง ์๋๋ก untracked files๋ก ์ค์ ํจ) ๊ฐ์ข noise๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ํ์ง ์๋ ํ์ผ์ ์ ๋ก๋ ๋ฐฉ์ง ๋ฐ์ดํฐ ์ถฉ๋๋ก ๋ฐ์ํ ์ ์๋ ์์ค ๋ฐฉ์ง .gitignore ์ฌ์ฉ ๋ฐฉ๋ฒ ๊ฐ๋จํ ๋ฐฉ๋ฒ : gitignore.io ์ด์ฉํ๊ธฐ. ์ฌ์ฉ ์ธ์ด, IDE, OS, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ ์ ๋ ฅํ๊ณ ์์ฑ๋ .gitignore ํ์ผ์ ๋ณต๋ถํ์ฌ ์ฌ์ฉํจ. ์ง์ ๋ง๋๋ ๋ฐฉ๋ฒ : vim์์ .gitignoreํ์ผ์ ์์ฑํ๊ณ trackํ์ง ์์ ํ์ผ์ ์ง์ ์์ฑํ๋ค. .gitignore ์ ์ฉํ๊ธฐ์ ์ ๋์์๋ค.