๐ ์ ์ฒด ์นดํ ๊ณ ๋ฆฌ
[๊ฐ๋ฐ๊ณตํต] Call by value์ Call by reference (Java, Python, C/C++)
๐ 1. Call by value์ Call by reference๋? Call by value์ Call by reference๋ ์ ์ ๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ ์์๋ ์์ฃผ ๋์ฌ๋งํผ ๊ธฐ์ด์ ์ด๋ฉด์ ์ค์ํ ๊ฐ๋ ์ด๋ค. ํ์๋ ๋ชจ ์ธํฐ๋ทฐ ์ค ํด๋น ์ง๋ฌธ์ ๋ฐ์ ์ ์ด ์๋๋ฐ, ๋ฉด์ ์ค๋น๋ ์ ๋์ง ์์๊ณ ๋นํฉํ๋ ํฐ๋ผ ๋ถ์กฑํ๊ฒ ๋๋ตํ๋ ๊ฒฝํ์ด ์๋ค. ์ด๋ฐ ์ผ์ด ๋ค์๋ ์๋๋ก ์ ๋๋ก ์ ๋ฆฌ๋ฅผ ํด๋ณด์. ๋ฉ์๋์ ์ธ์๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋์ด์ ธ์๋ค. (๋ฌผ๋ก ์๋ง์ ์ธ์ ์ ๋ฌ ๋ฐฉ์์ด ์์ง๋ง, ๋ํ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง๋ฅผ ์๋ฏธํจ.) ํ๋๋ Call by Value๋ก, ์ง์ญํ๋ฉด ๊ฐ์ ์ํ ์ ๋ฌ์ ํด๋นํ๋ค. ์ค์ ๊ฐ(caller)๊ณผ ์ธ์๋ก ์ ๋ฌํ ๊ฐ(callee)์ด ๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์์ ์ค์ ์๋ก ๋์ผํ์ง ์๊ณ ๊ฐ์ ๋ณต..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋งค๋ด ๋ฆฌ๋ด์ผ (level2, python)
๐ ๋ฌธ์ ์ค๋ช ๋ ์คํ ๋์ ์ด์ํ๋ ์ค์นดํผ๋ ์ฝ๋ก๋19๋ก ์ธํ ๋ถ๊ฒฝ๊ธฐ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ฉ๋ด๋ฅผ ์๋ก ๊ตฌ์ฑํ๋ ค๊ณ ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด์๋ ๋จํ์ผ๋ก๋ง ์ ๊ณตํ๋ ๋ฉ๋ด๋ฅผ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ํํ๋ก ์ฌ๊ตฌ์ฑํด์ ์๋ก์ด ๋ฉ๋ด๋ฅผ ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ค ๋จํ๋ฉ๋ด๋ค์ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๋ฉด ์ข์ ์ง ๊ณ ๋ฏผํ๋ "์ค์นดํผ"๋ ์ด์ ์ ๊ฐ ์๋๋ค์ด ์ฃผ๋ฌธํ ๋ ๊ฐ์ฅ ๋ง์ด ํจ๊ป ์ฃผ๋ฌธํ ๋จํ๋ฉ๋ด๋ค์ ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๊ธฐ๋ก ํ์ต๋๋ค. ๋จ, ์ฝ์ค์๋ฆฌ ๋ฉ๋ด๋ ์ต์ 2๊ฐ์ง ์ด์์ ๋จํ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ๋ํ, ์ต์ 2๋ช ์ด์์ ์๋์ผ๋ก๋ถํฐ ์ฃผ๋ฌธ๋ ๋จํ๋ฉ๋ด ์กฐํฉ์ ๋ํด์๋ง ์ฝ์ค์๋ฆฌ ๋ฉ๋ด ํ๋ณด์ ํฌํจํ๊ธฐ๋ก ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ 6๋ช ์ด ์ฃผ๋ฌธํ ๋จํ๋ฉ๋ด๋ค์ ์กฐํฉ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด, (๊ฐ ์๋์ ๋จํ๋ฉ๋ด๋ฅผ 2๊ฐ ์ด์ ์ฃผ๋ฌธํด..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ณด์ ์ผํ (level3, python)
๐ ๋ฌธ์ ์ค๋ช [๋ณธ ๋ฌธ์ ๋ ์ ํ์ฑ๊ณผ ํจ์จ์ฑ ํ ์คํธ ๊ฐ๊ฐ ์ ์๊ฐ ์๋ ๋ฌธ์ ์ ๋๋ค.] ๊ฐ๋ฐ์ ์ถ์ ์ผ๋ก ์ธ๊ณ ์ต๊ณ ์ ๊ฐ๋ถ๊ฐ ๋ ์ดํผ์น๋ ์คํธ๋ ์ค๋ฅผ ๋ฐ์ ๋๋ฉด ์ด๋ฅผ ํ๊ธฐ ์ํด ์คํ๋ผ์ธ ๋งค์ฅ์ ์ผํ์ ํ๋ฌ ๊ฐ๊ณค ํฉ๋๋ค. ์ดํผ์น๋ ์ผํ์ ํ ๋๋ฉด ๋งค์ฅ ์ง์ด๋์ ํน์ ๋ฒ์์ ๋ฌผ๊ฑด๋ค์ ๋ชจ๋ ์น์ธ์ด ๊ตฌ๋งคํ๋ ์ต๊ด์ด ์์ต๋๋ค. ์ด๋ ๋ ์คํธ๋ ์ค๋ฅผ ํ๊ธฐ ์ํด ๋ณด์ ๋งค์ฅ์ ์ผํ์ ํ๋ฌ ๊ฐ ์ดํผ์น๋ ์ด์ ์ฒ๋ผ ์ง์ด๋์ ํน์ ๋ฒ์์ ๋ณด์์ ๋ชจ๋ ๊ตฌ๋งคํ๋ ํน๋ณํ ์๋ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ณ ์ถ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์๋ ์ง์ด๋๋ 4์ข ๋ฅ์ ๋ณด์(RUBY, DIA, EMERALD, SAPPHIRE) 8๊ฐ๊ฐ ์ง์ด๋ ์์์ ๋๋ค. ์ง์ด๋์ 3๋ฒ๋ถํฐ 7๋ฒ๊น์ง 5๊ฐ์ ๋ณด์์ ๊ตฌ๋งคํ๋ฉด ๋ชจ๋ ์ข ๋ฅ์ ๋ณด์์ ์ ์ด๋ ํ๋ ์ด์์ฉ ํฌํจํ๊ฒ ๋ฉ๋๋ค. ์ง์ด๋์ 3,..
SKT 2022 9์ JT ์ฑ์ฉ ๊ฐ๋ฐ ์ง๊ตฐ ์๋ฅ์ ํ ํ๊ธฐ&๊ฒฐ๊ณผ (SKCT, ์ฝ๋ฉํ ์คํธ)
๐ก 1. ์๋ก ์ด๋ฒ SKT์์ 9์ ์ฃผ๋์ด ๊ฐ๋ฐ์ ์ฑ์ฉ์ผ๋ก ์ฑ์ฉ ๊ณต๊ณ ๊ฐ ์ฌ๋ผ์๋ค. SKT๋ ํ IT ์๋น์ค ํ์ฌ์ ๋นํด ์ ํ์ด ์ฐธ ์ ๊ธฐํ๋ค. ์๊ธฐ์๊ฐ์๋ฅผ ์ ์ธํ ๊ฐ๋จํ ์๋ฅ ์ ์ ์ดํ์, ์๋ฅ ์ ํ์ผ๋ก SKCT ์ธ์ ์ฑ๊ฒ์ฌ๋ฅผ ์งํํ๊ณ , ์ฝ๋ฉํ ์คํธ๋ฅผ ์งํํ๋ค. ๋ค์ด๋ฒ๋ ๋น์ทํ๊ฒ ์ธ์ ์ฑ๊ฒ์ฌ์ ๊ฐ์ ์ค๋ฌธ์ ์งํํด์ ์ด ๋ถ๋ถ์ ๊ทธ๋ ๊ฒ ์ ๊ธฐํ์ง๋ ์์์ง๋ง, ์ ์ผ ๋๋๊ฑด 1์ฐจ ๋ฉด์ ์ด 1๋ฐ2์ผ ์๋ฐ ๋ฉด์ ์ผ๋ก ์งํ๋๋ค๋ ์ ์ด์๋ค. ์ด๋ฒ์๋ง 1๋ฐ2์ผ ๋ฉด์ ์ผ๋ก ์งํ๋๋๊ฒ ์๋๋ผ, ๊ฒ์ํด๋ณด๋ ์ด์ ์๋ SKT๋ 1๋ฐ2์ผ ํฉ์ ๋ฉด์ ์ ์งํํด์๋ ๊ฒ์ผ๋ก ํ์ธ๋์๋ค. ์ด๋ฒ ์๋ฅ์ ํ(์ธ์ ์ฑ + ์ฝ๋ฉํ ์คํธ)๋ฅผ ํต๊ณผํ๊ฒ ๋๋ฉด, ๋ฐ๋ก 1์ฐจ ๋ฉด์ ์ธ๋ฐ ๊ธฐ๋๋๊ธฐ๋ ํ๊ณ ๋จ๋ฆฌ๊ธฐ๋ ํ๋ค. (๋ฌผ๋ก ํฉ๊ฒฉํ๋ค๋ ๋ณด์ฅ ์์ ใ ใ ..) ๐ก 2. SKCT ์ธ..
[Spring] ์คํ๋ง์ ํต์ฌ ๊ฐ๋ , DI / IoC๋ ๋ฌด์์ธ๊ฐ? (์์กด์ฑ ์ฃผ์ , ์ ์ด์ ์ญ์ )
๐ 0. ์๋ก ์คํ๋ง ํ๋ ์์ํฌ์ ๋ํด ํ์ตํ๊ณ ์ ํ๋ค๋ฉด, DI์ IoC๋ ํ ๋ฒ์ฏค์ ๋ค์ด๋ณด์์ ํค์๋์ด๋ค. "์คํ๋ง์ด๋ IoC์ AOP๋ฅผ ์ง์ํ๋ ๊ฒฝ๋์ ์ปจํ ์ด๋ ํ๋ ์์ํฌ์ด๋ค." - ์คํ๋ง์ ๋ํ ํ ์ค ์ค๋ช ์คํ๋ง์ 3๋ ์์๋ฅผ ๋ํ๋ด๋ ์คํ๋ง ํธ๋ผ์ด์ต๊ธ์์ ๋น๋นํ ํ ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์๋ DI/IoC๋ ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ๊ธฐ ์ํด ๋ฐ๋์ ์์์ผ ํ๋ ๊ฐ๋ ์ด๋ค. ์ฌ์ค, DI์ IoC๋ ์คํ๋ง์๋ง ๊ตญํ๋ ๊ฐ๋ ์ด ์๋๋ค. ์ฌ๊ธฐ์ ๋ณผ ์ ์๋ฏ์ด, DI์ IoC๋ ๊ฐ๊ฐ ๋์์ธ ํจํด, ๋์์ธ ์์น์ ํด๋นํ๋ ๊ฒ์ผ๋ก ๊ผญ ์คํ๋ง์ด ์๋๋๋ผ๋ ์ง์ ๊ตฌํํ ์ ์๊ฑฐ๋, ๋ค๋ฅธ ํ๋ ์์ํฌ์์๋ ๋์ฌ ์ ์๋ ๊ฐ๋ ์ด๋ค. ๋์์ธ ์์น์ ํน์ ํ ํจ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ๊ถ์ฅํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ ๊ฒ์ด๋ค. ์ฆ, best prac..
2023 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ๊ฐ๋ฐ์ ์ฑ์ฉ ๊ณต์ฑ 2์ฐจ ์ฝ๋ฉํ ์คํธ ํฉ๊ฒฉํ๊ธฐ : CS ํ ์คํธ & ๊ฐ๋ฐํ ์ฝ๋ฉํ ์คํธ
๐ 0. ์ด์ ์ ํ์ ๋ํด์ 2022.09.24 - [๐ฆ ์ทจ์ ์ค๋น ๊ธฐ๋ก] - 2023 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ๊ฐ๋ฐ์ ์ฑ์ฉ ๊ณต์ฑ ์ฝ๋ฉํ ์คํธ ํ๊ธฐ 2023 ์นด์นด์ค ๋ธ๋ผ์ธ๋ ๊ฐ๋ฐ์ ์ฑ์ฉ ๊ณต์ฑ ์ฝ๋ฉํ ์คํธ ํ๊ธฐ ๐ก ์๋ก 2022๋ 9์ 24์ผ ํ ์์ผ, ์คํ 2์๋ถํฐ ์ฝ 5์๊ฐ ๊ฐ๋ 2023 ์นด์นด์ค ๊ฐ๋ฐ์ ๋ธ๋ผ์ธ๋ ๊ณต์ฑ ์ฝ๋ฉํ ์คํธ๋ฅผ ์งํํ๋ค. ์ด๋ฒ์๋ ์ญ์ ๊ณต์ฑ๋ 7๋ฌธ์ ๋ก ์ด๋ค์ก์ผ๋ฉฐ, ๋์ด๋๋ ํ ๊ธฐ์ ์ ๋นํด ๊ฝค๋ hoons-dev.tistory.com ๐ก 1. ์๋ก ์ง๋ ๋ฒ ๊ธ์์ ์ฌ๋ ธ๋ค์ํผ, ์นด์นด์ค 1์ฐจ ์ฝ๋ฉํ ์คํธ์์ 7๋ฌธ์ ์ค 4๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด 4์์ ์ปคํธ๋ผ์ธ์ผ๋ก ์์ํ๊ณ ์์๊ธฐ ๋๋ฌธ์, ๋๋ ํฉ๊ฒฉํ ๊ฑฐ๋ผ ๋ฏฟ๊ณ ๋ค์ ์ ํ์ ๋ํด ์ค๋นํ์๋ค. ๊ฒฐ๊ณผ๋ ์์์ ๋ณด๋๋๋ก ํฉ๊ฒฉ! ๋ค์ด๋ฒ, ์นด์นด์ค ์ฝ๋ฉํ ์คํธ..
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ถ๋ ์ฌ์ฉ์ (level3, python)
๋ฌธ์ ์ค๋ช ๊ฐ๋ฐํ ๋ด์์ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ด๋นํ๊ณ ์๋ "๋ฌด์ง"๋ ์ต๊ทผ ์งํ๋ ์นด์นด์ค์ด๋ชจํฐ์ฝ ์ด๋ฒคํธ์ ๋น์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋น์ฒจ์ ์๋ํ ์๋ชจ์๋ค์ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฐ ์๋ชจ์๋ค์ ๋ฐ๋ก ๋ชจ์ ๋ถ๋ ์ฌ์ฉ์๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ชฉ๋ก์ ๋ง๋ค์ด์ ๋น์ฒจ ์ฒ๋ฆฌ ์ ์ ์ธํ๋๋ก ์ด๋ฒคํธ ๋น์ฒจ์ ๋ด๋น์์ธ "ํ๋ก๋" ์๊ฒ ์ ๋ฌํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๋ ๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ํด ์ฌ์ฉ์ ์์ด๋ ์ค ์ผ๋ถ ๋ฌธ์๋ฅผ '*' ๋ฌธ์๋ก ๊ฐ๋ ค์ ์ ๋ฌํ์ต๋๋ค. ๊ฐ๋ฆฌ๊ณ ์ ํ๋ ๋ฌธ์ ํ๋์ '*' ๋ฌธ์ ํ๋๋ฅผ ์ฌ์ฉํ์๊ณ ์์ด๋ ๋น ์ต์ ํ๋ ์ด์์ '*' ๋ฌธ์๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. "๋ฌด์ง"์ "ํ๋ก๋"๋ ๋ถ๋ ์ฌ์ฉ์ ๋ชฉ๋ก์ ๋งคํ๋ ์๋ชจ์ ์์ด๋๋ฅผ ์ ์ฌ ์์ด๋ ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ก ํ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฒคํธ์ ์๋ชจํ ์ ์ฒด ์ฌ์ฉ์ ์์ด๋ ๋ชฉ๋ก์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด ์๋ชจ์ ์์ด๋..
[ํ๋ก๊ทธ๋๋จธ์ค] ์ผ๊ฐ ๋ฌํฝ์ด (level2, python)
๋ฌธ์ ์ค๋ช ์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ๋ณ์ ๊ธธ์ด์ ๋์ด๊ฐ n์ธ ์ผ๊ฐํ์์ ๋งจ ์ ๊ผญ์ง์ ๋ถํฐ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋ฌํฝ์ด ์ฑ์ฐ๊ธฐ๋ฅผ ์งํํ ํ, ์ฒซ ํ๋ถํฐ ๋ง์ง๋ง ํ๊น์ง ๋ชจ๋ ์์๋๋ก ํฉ์น ์๋ก์ด ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ n์ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค. ์ ์ถ๋ ฅ ์ #2 ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค. ์ ์ถ๋ ฅ ์ #3 ๋ฌธ์ ์์์ ๊ฐ์ต๋๋ค. ํ์ด ์ฝ๋ def solution(n): size = n * (n+1) // 2 answer = [0 for _ in range(size)] checker = [0, 0] idx = 0 step = 1 temp = n for i in rang..