๋ชฉ๋กํ๋ก๊ทธ๋๋ฐ (135)
Bibi's DevLog ๐ค๐
2355๋ฒ: ์๊ทธ๋ง ์๊ทธ๋ง ๊ณต์์ ํ์ฉํ๋ ๋ฌธ์ . ๊ฐ์ฐ์ค ๋ง์ ๊ณต์, ์๊ทธ๋ง (โ) ์ฒ์์๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ์๋๋ฐ ๋๋ฌด ์ฌ์์ ์ด์ํ๋ค ํ๋๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์๊ฐ์ ํ์ ๊ฑธ๋ฆฌ๋ฉด ํ๋ ธ์ต๋๋ค ๊ฐ ์๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋ชจ๋ฅด๊ฒ ์ด์ ๊ฒ์์ ํ๊ณ ์๊ทธ๋ง ๊ณต์์ ํ์ฉํ๋ ๋ฌธ์ ์๋ค. (๊ฐ์ฐ์ค ๋ง์ ์ด๋ผ๊ณ ๊ฒ์ํด๋ ๋์จ๋ค) ๊ฐ์ฐ์ค ๋ง์ ๊ณต์ n < m ์ผ ๋, n๋ถํฐ m๊น์ง์ ์ ์๋ฅผ ๋ชจ๋ ๋ํ ๊ฐ์ (n + m) * (m - n + 1) / 2 ์๊ทธ๋ง ๊ณต์ n < m ์ผ ๋, n๋ถํฐ m๊น์ง์ ์ ์๋ฅผ ๋ชจ๋ ๋ํ ๊ฐ์ 1๋ถํฐ m๊น์ง์ ํฉ - 1๋ถํฐ n-1๊น์ง์ ํฉ๊ณผ ๊ฐ๋ค (1 + โฆ + m) - (1 + โฆ + n-1) = [m(m + 1) / 2] - [n-1(n-1 + 1) / 2] = [m(m + 1) ..
1864๋ฒ: ๋ฌธ์ด ์ซ์ ๋ถ์ ๊ฐ ์๋ฆฟ์๋๋ก 8์ n์น์ ๊ณฑํ ๊ฐ์ ๋ชจ๋ ๋ํ๋ค. ์ฒ์์ ๊ธฐํธ๋ฅผ ์ฃผ์ด์ง ์ซ์๋ก ๋ณํํ ๋ค swift์์ ์ ๊ณตํ๋ radix๋ฅผ ํ์ฉํด ๋ณํํ๋ ค ํ์ง๋ง -1์ ์กด์ฌ ๋๋ฌธ์ ์ด์ฉ ์ ์์ด ๊ฐ ์๋ฆฟ์๋๋ก ๊ณ์ฐํด์ผ ํ์ n์ ์ต๋๊ฐ(maxPow)์ ์ ๋ ฅ ์๋ฆฟ์ - 1 ์ด๋ค ์๋ฅผ ๋ค์ด 3์๋ฆฌ์ 8์ง์๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ ์๋ฆฟ์์ 8์ 2์น, 8์ 1์น, 8์ 0์น์ ๊ณฑํ ๊ฒ์ pow() ์ฌ๋ฌ ๋ฉ์๋ ์ค์์ ๋ฆฌํดํ์ ์ด decimal์ ๋ฐํํ์ง ์๋๋ก ์ฃผ์ํ๋ค. - Int๋ก์ ๋ณํ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ.. ๋๋ `func pow(_ lhs: Float, _ rhs: Float) -> Float` ์ฌ์ฉ ํ์ด func q1864() { // ๋ฌธ์ด ์ซ์ while true { let input = read..
1834๋ฒ: ๋๋จธ์ง์ ๋ชซ์ด ๊ฐ์ ์ N์ด ์ ๋ ฅ๋์์ ๋, ๋๋จธ์ง์ ๋ชซ์ด ๊ฐ์ ์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ ๋ฌธ์ . 3์ด ์ ๋ ฅ๋๋ฉด 1 / 3 : ๋ชซ 0, ๋๋จธ์ง 1 2 / 3 : ๋ชซ 0, ๋๋จธ์ง 2 3 / 3 : ๋ชซ 1, ๋๋จธ์ง 0 4 / 3 : ๋ชซ 1, ๋๋จธ์ง 1 (โ๏ธ) 5 / 3 : ๋ชซ 1, ๋๋จธ์ง 2 6 / 3 : ๋ชซ 2, ๋๋จธ์ง 0 7 / 3 : ๋ชซ 2, ๋๋จธ์ง 1 8 / 3 : ๋ชซ 2, ๋๋จธ์ง 2 (โ๏ธ) 9 / 3 : ๋ชซ 3, ๋๋จธ์ง 1 ๋๋จธ์ง์ ๋ชซ์ด ๊ฐ์ ์๋ 4, 8 ์ด๋ฉฐ, ๋ต์ ์ด ์๋ค์ ํฉํ 12์ด๋ค. ๐ค ๋์ ์์ฐ์์ ์ ํ๋ ์๋๋ฐ ๋ต์ด ๋์ฌ๋๊น์ง ๋ฌด์กฐ๊ฑด ๋๋ ์ผ ํ๋? ์๋๋ค. ์ ์์ ์ ํจํด์ ๋ณด๋ฉด โ๋๋จธ์ง๋ ํญ์ 0 ๋ถํฐ N-1๊น์ง"์ ๊ฐ์ ๊ฐ์ง๋ค. ๋, ๋๋จธ์ง == ๋ชซ ์ด์ด์ผ ํ๋๋ฐ ๋๋จธ์ง์..
1731๋ฒ: ์ถ๋ก ์ ๊ทผ ๋ฑ์ฐจ์ธ์ง ๋ฑ๋น์ธ์ง ๋จผ์ ๊ตฌํด์ผ ํ๋ค (2๋ฒ์งธ ์์ - 1๋ฒ์งธ ์์) ์ ๊ฐ == (3๋ฒ์งธ ์์ - 2๋ฒ์งธ ์์) ์ ๊ฐ ์ด๋ฉด ๋ฑ์ฐจ์์ด (2๋ฒ์งธ ์์ / 1๋ฒ์งธ ์์) ์ ๊ฐ == (3๋ฒ์งธ ์์ / 2๋ฒ์งธ ์์) ์ ๊ฐ ์ด๋ฉด ๋ฑ๋น์์ด ๋งจ ๋ ์์์ ๋ค์ ์๋ฅผ ๊ตฌํด์ผ ํ๋ฏ๋ก ์ ๋ ฅ์ ๋๊น์ง ๋ฐ์์ผ ํ๋ค ๋ฑ์ฐจ์์ด์ด๋ผ๋ฉด ๋งจ ๋ ์์์ ๋ฑ์ฐจ๋ฅผ ๋ํ ๊ฐ์ ์ถ๋ ฅ ํ ๋ฆฌํด ๋ฑ๋น์์ด์ด๋ผ๋ฉด ๋งจ ๋ ์์์ ๋ฑ๋น๋ฅผ ๊ณฑํ ๊ฐ์ ์ถ๋ ฅ ํ ๋ฆฌํด func q1731() { // ์ถ๋ก let inputCount = Int(readLine()!)! var inputArr: [Int] = [] for _ in 1...inputCount { let input = Int(readLine()!)! inputArr.appe..
OAuth Github ๋ก๊ทธ์ธ OAuth๋ https://www.youtube.com/watch?v=hm2r6LtUbk8 OAuth์ ์ธ ์ญํ ๋ค ๋ด ์๋น์ค ์ฌ์ฉ์ ์ ๋ช ์๋น์ค (๊ตฌ๊ธ, ๋ค์ด๋ฒ ๋ฑ) OAuth์ ์ธ์ฆ ์ ์ฐจ ์ ๋ช ์๋น์ค๊ฐ Access Token์ ๋ฐ๊ธํ๋ค AccessToken์ด๋? ์ ๋ช ์๋น์ค๊ฐ ๊ฐ์ง ์ฌ์ฉ์์ ๋ณด์ ์ ๊ทผํ๊ธฐ ์ํด, ์ฌ์ฉ์์ ์์ด๋ ๋น๋ฐ๋ฒํธ ๋์ ์ฌ์ฉํ๋ ํ ํฐ ์ ๋ช ์๋น์ค๊ฐ ๊ฐ์ง ์ฌ์ฉ์ ์ ๋ณด๋ค ์ค์์ ๋ด ์๋น์ค๊ฐ ๊ผญ ํ์ํ ๊ธฐ๋ฅ๋ง ๋ถ๋ถ์ ์ผ๋ก ์ ๊ทผ์ ํ์ฉํ๋ค. ๋ด ์๋น์ค๋ OAuth๋ฅผ ํตํด AccessToken์ ๊ฐ์ ธ์จ๋ค ๋ด ์๋น์ค๋ AccessToken์ ํตํด ์ ๋ช ์๋น์ค๊ฐ ๊ฐ์ง ์ฌ์ฉ์ ์ ๋ณด์ ์ ๊ทผํ๊ณ , ๊ฐ์ ธ์ค๊ณ , ์์ ํ๋ค. GitHub OAuth - Authorizing OAu..
https://docs.github.com/en/enterprise-server@2.21/developers/apps/building-oauth-apps/scopes-for-oauth-apps GitHub OAuth - Scopes for OAuth Apps Scope(๋ฒ์)๋ ๋น์ ์ด ์ ํํ ์ด๋ค ์ข ๋ฅ์ ์ ๊ทผ์ ํ์๋ก ํ๋์ง๋ฅผ ๊ตฌ์ฒดํํด์ค๋ค. scope๋ OAuth ํ ํฐ์ ์ ๊ทผ์ ์ ํํ๋ค. ์ฌ์ฉ์๊ฐ ๊ฐ์ง ๊ถํ ์ด์์ ์ด๋ค ์ ๊ทผ๋ ํ์ฉํ์ง ์๋๋ค. ๊นํ OAuth ์ฑ์ ์ค์ ํ ๋, ์์ฒญ๋๋ scope๋ค์ด ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ค. scope ํ์ธํ๊ธฐ ๋ด๊ฐ ์ด๋ค OAuth scope๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , API ๋์์ด ์ด๋ค scope๋ฅผ ์น์ธํ๋์ง ํ์ธํ๊ธฐ ์ํด์๋ ํค๋๋ฅผ ๋ณด๋ฉด ๋๋ค. $ curl -H "Authoriza..
[Git] rebase ์ถฉ๋ ํด๊ฒฐํ๊ธฐ ์ถฉ๋์ด ๋ ํ์ผ์ ์ด๋ฉด ์ด๋์์ ์ถฉ๋์ด ๋ฐ์ํ๋์ง ํ์๋์ด ์๋ค. ์ถฉ๋ ํ์ผ๋ค์ ์ด์ด ์ต์ข ๋จธ์งํ ๋ด์ฉ๋ค๋ก ์ ๋ฆฌํ๋ค. git add . git commit : ์ถฉ๋ ํด๊ฒฐํ ๋ด์ฉ์ ์ปค๋ฐ git reabse --continue ๋ชจ๋ ์ถฉ๋ ํด๊ฒฐ ํ ์ ๋ ฅํ๋ค.
fetch, rebase fetch : (๋ป : ๊ฐ์ ธ์ค๋ค) - ์๊ฒฉ ์ ์ฅ์์ ๋ด์ฉ์ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ (๋ณํฉ์ ํ์ง ์์) pull : (๋ป : ๋น๊ฒจ์ค๋ค) - ์๊ฒฉ ์ ์ฅ์์ ๋ด์ฉ์ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ ๋ณํฉํ๋ ๊ฒ merge : ๋ ๋ธ๋์น๋ฅผ ํฉ์น๋ ๊ฒ A๋ธ๋์น์ B๋ธ๋์น๋ฅผ ํฉ์น ๋, ๊ฐ์์ ์ปค๋ฐ ๋ด์ญ์ ๊ทธ๋๋ก ๋จ๊น rebase : ๋ ๋ธ๋์น๋ฅผ ํฉ์น๋ ๊ฒ A๋ธ๋์น์ B๋ธ๋์น๋ฅผ ํฉ์น ๋, B์ ์ปค๋ฐ์ A์ ์ปค๋ฐ ๋ค์ ์์นํ๊ฒ ๋จ ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋์ ๋งค๋๋ฌ์ด ๋ธ๋์น๊ฐ ๋จ