C , C++
-
[C/C++] strtok ํจ์, ์ฃผ์์ฌํญC , C++ 2021. 8. 2. 15:01
C์ธ์ด์ strtok ํจ์ ์ฌ์ฉ๋ฒ๊ณผ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ์ ๋ํ ๊ธ์ ๋๋ค. strtok strtok API๋ char* ์ tokenizeํ์ฌ ๋ถํ ํ ๋ ์ฌ์ฉํ๋ ํจ์์ ๋๋ค. ์ฒ์ ํจ์ ํธ์ถ์, str ๋งค๊ฐ๋ณ์์๋ ํด๋น char* ์ด ๋ค์ด๊ฐ๊ฒ ๋์ด ์ฒ์ ์์์์น๋ฅผ ์๊ฒ ๋ฉ๋๋ค. ์ดํ ํธ์ถํ์ฌ ๋ถํ ํ๋ ๊ฐ์ ์๊ธฐ ์ํด์๋ str ๋งค๊ฐ๋ณ์์๋ null pointer๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๊ณ ๋ง์ง๋ง ํ ํฐ์ ๋ค์ ์์น๋ฅผ ์์์์น๋ก ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. strtok์ null character๊ฐ ๋ฐ๊ฒฌ๋ ๋๊น์ง ์คํ๋๋ฉฐ, ํ ํฐํํ๋ฉด ์๋์ ์ผ๋ก ๋ง์ง๋ง์์น์ null character๊ฐ ์ถ๊ฐ๊ฐ ๋ฉ๋๋ค. ์ด ๋ถ๋ถ์์ ๋ง์ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฉฐ, ์ฃผ์์ฌํญ์ ์์งํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ์กฐํ๋ฉด ์ข์ต๋๋ค. Param..
-
[C/C++] Next_permutation ์ฌ์ฉ๋ฒC , C++ 2021. 8. 1. 15:47
์ด ๊ธ์ C++์ Next_permutation API ์ฌ์ฉ๋ฒ์ ๋๋ค. Next_permutation C++์์ ์์ด๊ณผ ์กฐํฉ์ ๊ตฌํํ๊ธฐ ์ํด์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฑํธ๋ํน(backtraking) ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐฑํธ๋ํน ๊ธฐ๋ฒ์ ์ด์ฉํ๋ ๊ฒ ์ด์ธ์๋ C++์์๋ ์์ด, ์กฐํฉ์ ๊ตฌํํ๊ธฐ ์ํ API์ธ Next_permutation ํจ์๊ฐ ์กด์ฌํฉ๋๋ค. ๋ณด๋ค ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ด, ์กฐํฉ์ผ๋ก๋ ์ถฉ๋ถํ ํต๊ณผํ ๋งํ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ ๋ค์ API๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค. next_premutation ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include์ ์ ์ธํ์ฌ์ผ ํฉ๋๋ค. Example int main(){ int arr[3] = {3,1,2}; sort(arr, arr+3); /** 1 2 3 1..