์ ์ฒด ๊ธ
-
[C++] ํ๋ก๊ทธ๋๋จธ์ค. 2020 KAKAO BLIND RECRUITMENT ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์น์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2020. 7. 22. 00:17
๋ค์ ํ์ด๋ณด๊ธฐ #include using namespace std; struct coord { int pillar; int beam; }; coord arr[101][101]; //๊ธฐ๋ฅ ์ธ์ธ ์กฐ๊ฑด ๋ฐ๋ฅ์ด๊ฑฐ๋ x=0, ๋ณด์ ํ์ชฝ ๋๋ถ๋ถ(์์ชฝ์ ์๋จ), ๋ค๋ฅธ ๊ธฐ๋ฅ ์ // ๋ณด ํ์ชฝ ๋๋ถ๋ถ์ด ๊ธฐ๋ฅ ์์ ์๊ฑฐ๋, ์์ชฝ ๋ ๋ถ๋ถ์ด ๋ค๋ฅธ ๋ณด์ ์ฐ๊ฒฐ bool pillar_check(int x, int y, int n) { if (y == 0) return true; if (arr[x][y - 1].pillar) return true; if (x > 0 && arr[x - 1][y].beam) return true; if (x < n && arr[x][y].beam) return true; return false; }..
-
[C++] ์ผ์ฑ 1249. [S/W ๋ฌธ์ ํด๊ฒฐ ์์ฉ] 4์ผ์ฐจ - ๋ณด๊ธ๋ก์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2020. 7. 22. 00:14
์ ๋ ฅ๋ฐ๋ ๊ณผ์ ์ ์์ด์ ์ซ์๊ฐ ๋ถ์ด์ ์ฃผ์ด์ก๊ธฐ ๋๋ฌธ์ scanf๋ฅผ ํตํด ์ซ์ํ๋์ฉ ์ ๋ ฅ๋ฐ์. ์ฒ์์๋ DFS๋ฅผ ์ด์ฉํ ์์ ํ์์ผ๋ก ์งํํ์ง๋ง ์๊ฐ์ด๊ณผ ๋ฐ์ BFS์ DP๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ํด์ผ ํด๊ฒฐ๋จ. #include #include #include #include using namespace std; int N; int map[100][100]; int min_map[100][100]; int dir[4][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} }; int findRoad() { queue q; q.push(make_pair(0, 0)); min_map[0][0] = 0; while (!q.empty()) { int x = q.front().first; int y = ..
-
C++ ๋ฌธ์์ด ์๋ฅด๊ธฐ์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ํ 2020. 4. 9. 12:44
์๋ก C++ String ํด๋์ค๋ Python์ split ํจ์์ฒ๋ผ ๊ฐ๋จํ๊ฒ ๋ฌธ์์ด์ ์๋ฅด๋(ํ ํฌ๋์ด์ง) ํจ์๊ฐ ์๋ค. C++์์ ๋ฌธ์์ด์ ์๋ฅด๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์ strtok ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ (#include ํค๋ ํ์) char* strtok(char* str, char* delimiters); strtok ํจ์๋ ์ ๋ ฅ๋ฐ์ char* ํ์ ์ ๋ฌธ์์ด์ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋์ฉ ์๋ผ ํฌ์ธํฐ๋ก ๋ฐํํ๋ ํจ์์ด๋ค. ๋ฌธ์์ด์ ๋๋๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. string์ char* ๋ฌธ์์ด ํํ๋ก ๋ณํํ๊ณ 2. char* ๋ฌธ์์ด์ strtok ํจ์๋ก ํ๋์ฉ ์๋ผ๋ธ๋ค 3. ์๋ผ๋ธ char* ๋ฌธ์์ด์ ์ฉ๋์ ๋ง๊ฒ ์ฌ์ฉํ๋ค. #include #include #include using name..
-
์ฝํ ํ๋ฉด์ ํท๊น๋ฆฌ๋ ๊ฒ๋ค์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ํ 2020. 4. 5. 01:36
memset(arr, 0, sizeof(arr)) -> ์ด๊ธฐํ๋ฅผ ํ ๋ ค๋ฉด string.h ํค๋ ํ์ vector v(n); -> ๊ธฐ๋ณธ๊ฐ 0์ผ๋ก n๊ฐ ์์ ์์ฑ vector v(n, x) -> x๊ฐ์ผ๋ก ์ด๊ธฐํ๋ n๊ฐ ์์ ์์ฑ v.resize(n) -> ๋ฒกํฐ ์ฌ์ ์, ๋ ์ปค์ง ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ 0์ผ๋ก ์์ ์์ฑ v.erase(v.begin() + index) -> index ์์น์ ์๋ ๋ฐ์ดํฐ ์ญ์ v.erase(v.begin() + s, v.begin() + e) -> s~e-1 ์ธ๋ฑ์ค๊น์ง ์ญ์ reverse_iterator ๊ณต๋ถํด์ ์ ๋ฆฌ enter๊ฐ ์ ๋ ฅ๋ ๋๊น์ง ์ซ์ ์ ๋ ฅ๋ฐ๊ธฐ 1. stdio.h ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ getc(stdin)์ ์ฐ๋ ๋ฐฉ๋ฒ #include #include #include using names..
-
MST์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ํ 2020. 3. 26. 17:33
MST(์ต์ ์ ์ฅ ํธ๋ฆฌ)๋ฅผ ๊ตฌํ ๋๋ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ(ํฌ๋ฃจ์ค์นผ, ํ๋ฆผ) ์ต๋จ ๊ฒฝ๋ก ํธ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ค๋ฅด๋ค. ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ - ๊ฐ์ค์น๊ฐ ์ต์์ธ ๊ฐ์ ์ ํ๋์ฉ ์ ํํ๋ฉด์ ์ ์ฅํธ๋ฆฌ๋ฅผ ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ 1. ๋ชจ๋ ๊ฐ์ ์ ๊ฐ์ค์น์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ 2. ๊ฐ์ค์น๊ฐ ๊ฐ์ฅ ๋ฎ์ ๊ฐ์ ๋ถํฐ ์ฐจ๋ก๋๋ก ์ ํํ๋ฉด์ ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑ -> ๊ฐ์ ์ ์ฌ์ดํด์ด ์กด์ฌ ์ ๋ค์ ๊ฐ์ ์ผ๋ก ๋์ด๊ฐ๋ค. 3. n-1 ๊ฐ์ ๊ฐ์ ์ด ์ ํ๋ ๋ ๊น์ง 2๋ฒ์ ๋ฐ๋ณต ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ - ์ง๊ธ๊น์ง ์ฐ๊ฒฐ๋ ์ ์ ์์ ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ค ์ค ํ๋์ฉ ์ ํํ๋ฉฐ MST๋ฅผ ๋ง๋ค์ด ๊ฐ๋ ๋ฐฉ์ 1. ์์ ์ ์ ํ๋์์ ์์ 2. ์ ํํ ์ ์ ๊ณผ ์ธ์ ํ ์ ์ ๋ค ์ค์ ๊ฐ์ค์น๊ฐ ์ต์์ธ ๊ฐ์ ์ ์ ํ ํ ์ด์ด์ง ์ ์ ์ ์งํฉ์ ํฌํจ 3. ๋ชจ๋ ์ ์ ์ด ๋ค ์ ํ๋ ๋ ๊น..
-
[C++] ์ ์ ์ ๋ ฌํ๊ธฐ์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2020. 2. 6. 10:04
- ์ ์ผ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ ์์๋ ๊ณ ์ - n์ string ํํ๋ก ๋ณํํ์ฌ ์ ๋ ฌ์ ํ ์ง vector ํํ๋ก ๋ณํํ์ฌ ์ ๋ ฌํ ์ง ๊ณ ๋ฏผํ๋ค. - sort ํจ์๋ฅผ ์ฐ์ง ์๊ณ sort๋ฅผ ๊ตฌํํ๋ ๋ฒ์ ์ ๋ฆฌํด์ผ๋ ํ์์ฑ์ ๋๋ #include #include #include #include #include using namespace std; long long solution(long long n) { vector str_n; while(n!=0){ int out = n%10; str_n.push_back(out); n = n/10; } sort(str_n.begin(), str_n.end(), greater()); long long result = 0; for (auto d : str_n) { result = res..
-
[C++] ๊ฒฝ์ฐ์ ์์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2020. 1. 25. 23:42
1. 1~n๊น์ง ์นด๋๋ฅผ ๋์ดํ๋ ๊ฒฝ์ฐ์ ์ 2. 1~n๊น์ง ์นด๋ ์ค ์ค๋ณต๋ ์๊ฐ ์๋ ์นด๋๋ฅผ ๋์ดํ๋ ๊ฒฝ์ฐ ์ 1. 1~n๊น์ง ์นด๋ ์ค m๊ฐ์ ์นด๋๋ฅผ ๋์ดํ๋ ๊ฒฝ์ฐ์ ์ - swap ์ดํด ์ํ๊ธฐ #include #include using namespace std; int arr[7] = { 1,2,3,4,4,6,7 }; int ans[7]; int Cnt = 0; void recursive(int size) { if (size == 7) { for (int i = 0; i < 7; i++) { cout