์ ์ฒด ๊ธ
-
[Kotlin] String ์ฌ์ฉ๋ฒAndroid/Kotlin 2021. 8. 12. 03:02
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. ๋ฌธ์์ด Kotlin์ ๋ฌธ์์ด์ Java์ ๋์ผํ๊ฒ String ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ์ฌ์ฉํฉ๋๋ค. Kotlin์ Java์ ๋๋ถ๋ถ ๋ฉ์๋๊ฐ ๋น์ทํ๊ฒ ์ ๊ณต๋๋ฉฐ ๋ช๊ฐ์ง ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. Index Java์์ String์ ๊ฐ charater๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง Kotlin์ ๋ฌธ์์ด์ ๋ฐฐ์ด์ ํํ๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ 0๋ถํฐ ์์ํ๋ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. String์ ๋ถ๋ณํ์ ๋ฐฐ์ด๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์๋ฅผ ์ ๊ทผํ๋ ์ฉ๋๋ก๋ง ๊ฐ๋ฅํ๋ฉด ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค. fun main(){ val str1 = "hello world" println(str1[0]) // h ..
-
[Kotlin] Array ์ฌ์ฉ๋ฒAndroid/Kotlin 2021. 8. 12. 02:03
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. Array C++, Java์์๋ ๋์ผํ๊ฒ ์กด์ฌํ๋ ๋ฐฐ์ด(Array)๋ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ ๊ณต๊ฐ์ ํ๋ณดํ์ฌ ๊ฐ์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์๋ฃ ๊ตฌ์กฐ ์ค ํ๋์ ๋๋ค. ๋ฐฐ์ด์ 0๋ถํฐ ์์๋๋ ์ธ๋ฑ์ค ๋ฒํธ๋ก ๊ด๋ฆฌํ๊ณ Kotlin์์ Array๋ Generic ํ์ ์ผ๋ก ์ ํด์ ธ ์์ด ๋ค์ํ ํ์ ์ ๊ฐ์ ๋ด์ ์ ์์ต๋๋ค. Kotlin์์๋ ๋ฐฐ์ด์ ์์ฑํ๋ ๋ณ๋์ ํจ์๊ฐ ์ฃผ์ด์ง๋๋ฐ arrayOf() ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. arrayOf์๋ ํ๋์ ํ์ ๋ง์ด ์๋ ์ฌ๋ฌ ํ์ ์ ๋ด์ ์ ์๊ณ , ํ ํ์ ์ผ๋ก ์ ํํ๊ณ ์ถ์ผ๋ฉด ์๋ฃํ + arrayOf() ํํ์ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. arrayOf๋ ..
-
[Kotlin] Functional ProgrammingAndroid/Kotlin 2021. 8. 11. 22:41
์ด ๊ธ์ "์ค์ฌ์ฑ์ Google ๊ณต์ ์ธ์ด Kotlin" ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋ด์ฉ์ผ๋ก ์์ฑํ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ Java๋ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก ํด๋์ค๋ฅผ ์ค๊ณํ๊ณ ๋ฉ์ค๋๋ฅผ ์ ์ํ ํ ์ธ์คํด์ค๋ฅผ ํตํด์ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. Kotlin์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๋ ์ง์ํ๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๋ ์ง์ํ์ฌ ํด๋์ค๊น์ง ์์ฑํ ํ์์์ด ํจ์๋ง ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ๊ฒ์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Java์์ ํจ์ ์ ์ ์ ๋ด๋ถ ํ๋ผ๋ฏธํฐ๋ก ์ธํฐํ์ด์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ์ ์ธํฐํ์ด์ค ๊ตฌํ์ฒด๋ฅผ ์ ์ํ ํ ๋์ ํ์ฌ ํธ์ถํด์ผ ํฉ๋๋ค. ํ์ง๋ง Kotlin ๊ฐ์ ๊ฒฝ์ฐ ํจ์ํ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ํ๋ผ๋ฏธํฐ์ ํจ์๊ฐ ๋ค์ด๊ฐ ์ ์๊ฒ ๋์ด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ธ์๋ Kotlin์์๋ ํจ์ ์ฌ์ฉํ๊ธฐ์ ๋ณด๋ค ํธ๋ฆฌํ ๊ฐ๋ ๋ค์ด ์กด์ฌํฉ๋..
-
[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..
-
[Data Structure] Deque ์ฌ์ฉ๋ฒData Structure 2021. 8. 1. 15:22
c++ STL ์ค ํ๋์ธ Deque์ ๋ํ ์ค๋ช ์ ๋๋ค. Deque Deque๋ Double-ended queue์ ์ฝ์๋ก ์์ชฝ ์ด๋์์๋ ์ถ๊ฐ, ์ญ์ ๊ฐ ๊ฐ๋ฅํ ๊ตฌ์กฐ์ธ ํ์ ๋๋ค. Queue ์์๋ ์์๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด์ front๋ฅผ ํตํด ํ๋์ฉ ๊ฐ์ ธ์๋ค๋ฉด, Deque๋ iterator์ index ์ ๊ทผ์ด ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค. push_back, push_front, pop_back, pop_front์ ๊ฐ์ API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋์์๋ ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ๊ณ front, back ํจ์๋ฅผ ํตํด ์์๋ฅผ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. API ํํ๋ index ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฒ๋ง ๋ณด๋ฉด Queue ๋ณด๋ค๋ Vector์ ํํ์ฒ๋ผ ๋ณด์ด๊ณ , ์คํ๋ ค vector๋ณด๋ค ์์ชฝ ๋ ์์๋ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์์ํธํ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋..
-
[BeakJoon] 5430๋ฒ: ACSW Test/BaekJoon 2021. 7. 22. 13:40
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ๊ฑฐ๊พธ๋ก ๋ค์ง๋ ํจ์๋ฅผ ์ค์ ๋ก ์ํํ์ง ์๊ณ ๊ฑฐ๊พธ๋ก ๋ค์ง์์ ๊ฒฝ์ฐ๋ ๋งจ ๋ค์ ์์ ๋ฐํ, ์๋ ์์์ผ ๋๋ ์์ ์์ ๋ฐํ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค. deque๋ฅผ ์ฌ์ฉํ์ฌ ๋งจ ์์ ์์์ ๋งจ ๋ค์ ์์๋ฅผ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด๋ ์์ ํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.
-
[BaekJoon] 17298๋ฒ : ์คํฐ์SW Test/BaekJoon 2021. 7. 19. 22:13
์ด ๊ธ์ c++๋ก ํ์ด๋ฅผ ์์ฑํ์์ต๋๋ค. ๋ฌธ์ ์์ ํ์ด ์ฒ์ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ๋ ์ค๋ฅด๋ ํ์ด๋ O(n2)๋ฐฉ๋ฒ์ผ๋ก 2์ค for๋ฌธ์ผ๋ก ์ ์ฒด ํ์ํ๋ฉด์ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์ง๋ง, ์ด ๋ฌธ์ ๋ ๊ฒฝ์ฐ์ ์๊ฐ 1,000,000์ด๊ธฐ ๋๋ฌธ์ ๋น์ฐํ ์๊ฐ์ด๊ณผ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์ผํฉ๋๋ค. stack์ ํ์ฉํ๋ฉด O(n)์ผ๋ก ํ์ด๊ฐ ๊ฐ๋ฅํฉ๋๋ค. #include #include #include using namespace std; int main() { // your code goes here int num; cin>>num; vector vec; for(int i=0;i>n; vec.push_back(n); } stack s; for(int i=vec.size()-1;i>0;i--){ s.push(vec[i]); } int ..