목록Coding/Algorithm (17)
이우의 개발일지
백준 1012번 BFS 유기농 배추 1012번 유기농 배추 풀이이 문제는 일반적인 BFS 코드에서 약간의 응용을 가미한 코드이다. 순차적으로 모든 x,y 를 살펴보면서 만약 1이면 그 근처에 있는 1인 구간을 다 탐색한 뒤, 다시 순차적으로 x,y를 탐색하는 구조이다. 이 문제의 특이한 점은 BFS를 테스트케이스로 줘서 초기화 시켜줘야한다는 점이다. 이 부분에서 약간 당황했는데int board[502][502]; // 값이 1인 곳bool vis[502][502]; // 방문 여부, 방문 했으면 1 안했으면 0 이 부분을 for 문 안에 가져오면 에러가 뜨기 때문에, for문에서 다시 이 값들을 초기화해줘야 했다. for (int i = 0; i 이런식으로 fill 함수를 써서 board와 vis를..
Sort 정렬 함수 오름차순정렬함수 sort는 주어진 숫자들을 오름차순으로 정렬해주는 함수입니다.코딩테스트 문제를 풀 때 유용하게 쓰이는 함수이죠. 시간 복잡도는 O(nlogn)입니다. sort 기본 사용법#include #include #include int main() { std::vector vec = {4, 2, 5, 3, 1}; std::sort(vec.begin(), vec.end()); for (int num : vec) { std::cout 결과위처럼 sort는 sort(시작점, 끝점)을 통해 입력해주시면 됩니다. 이게 기본 사용형이고, 이렇게 하면 자연스레 1,2,3,4,5로 출력이 됩니다. sort 사용자 정의 비교 함수 사용#include #include..
동적할당이란?동적 할당, 본래의 의미로는 동적 메모리 할당으로 사용자가 임의로 원하는 영역(Size) 만큼 메모리에 할당(Allocation)하는 기법을 말한다.지역적으로도, 전역적으로 접근이 가능하며 변동적(런타임 상황에 따라 변경이 됨)이기 때문에 메모리의 힙 영역에 적재된다. 동적할당을 이용한 문자열 복사하기 #include #include #include#include #include using namespace std;const int kMaxstr = 100; // 전역변수 설정 bool IsEqual(const char st1[], const char str2[]) { for (int i = 0; i 동적할당하는 방법 char *dynamic_char = new char[kMaxstr];이..