[ 알고리즘 ]/알고리즘11 [ c++ ] 2차원 배열 초기화하기 / fill 함수 너무 기본적이지만 가끔 헷갈릴 때가 있는 2차원 배열 초기화하기.. 가장 좋은 방법은 fill 함수를 쓰는 것! fill 함수의 구조는 다음과 같다. #include void fill (ForwardIterator first, ForwardIterator last, const T& val); first : 배열이나 vector와 같은 iterator의 시작 주소 last : 채우고 싶은 마지막 주소 val : 채우고 싶은 값 n x m 배열에 대해서 초기화를 진행한다. int arr[500][500]; int n, m; cin >> n >> m; for (int i=0; i 2023. 6. 16. [ c++ ] 공백 없이 입력받은 값을 2차원 배열로 만들기 위의 예시처럼 공백 없이 여러 줄 입력받은 값을 2차원 배열로 만들고 싶을 때 어떻게 해야 할지 헷갈려서 정리해보았다. 출처 : https://aeunhi99.tistory.com/160 int n, m; cin >> n >> m; string str; int input_arr[500][500]; for (int i=0;i> str; for (int j=0;j 2023. 6. 15. [ 알고리즘 ] 8. 파이썬 딕셔너리 (Dictionary) 자료형 활용하기 1. Dictionary 자료형 - 키 (Key)와 값 (Value)이 한 쌍이 되어 하나의 대응 관계를 가지고 있는 자료형 - 예를 들어서, '이름': '공춘식 / '나이': 100 같은 쌍이다. - 앞쪽 요소가 Key (이름, 나이), 뒤쪽 요소가 Value (공춘식, 100)이다. - 딕셔너리와 같은 자료형을 연관 배열 (Associative array) 또는 해시 (Hash)라고 한다. - 딕셔너리는 list나 tuple처럼 순차적으로 해당 요소 값을 구하지 않고, key를 통해 value를 얻는다. 즉, 100이라는 값을 얻기 위해 순차적으로 모두 검색하는 것이 아니라 100이라는 값이 있는 곳만 사전에서 펼쳐보는 것이다. 2. Dictionary 만들기 - 기본 딕셔너리 모습은 다음과 같다. .. 2022. 2. 26. [ 알고리즘 ] 7. 백트래킹 알고리즘 1. 백트래킹 알고리즘 - 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘 - 해를 찾아가는 도중에 해가 안될 것 같으면 돌아간다. ⓐ 유망하다 (Promising) : 해가 될 가능성이 있다. ⓑ 가지치기 (Pruning) : 해가 될 가능성이 없다. - 가지치기를 얼마나 잘 하는 지에 따라서 효율성이 결정된다. 2. DFS와 백트래킹의 차이 (1) DFS (Depth First Search, 깊이 우선 탐색) - 대표적인 완전 탐색 방법이다. - 현재 지점에서 방문해야 할 곳이 있다면 재귀 호출을 이용해서 계속 이동한다. ⓐ 장점 : 무한히 깊은 곳을 찾아야 할 때 효과적이다. ⓑ 단점 : 모든 곳을 방문해야 하기 때문에 굳이 방문하지 않아도 되는 지점 (목표가 되지 않는 지점)을.. 2022. 2. 25. 이전 1 2 3 다음