Keep walking 👩🏻‍💻 465

#2606 바이러스 (C++)

링크 : www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어�� www.acmicpc.net 이 문제를 푸는데 이해가 안된다면, 먼저 LV2 문제인 #11724 연결 요소의 개수 (C++)을 보고 오는 것을 추천한다. 푸는 로직이 11724번과 거의 동일하다. 문제 풀이는 다음과 같았다. (1) 연결된 모든 노드를 순회한다. (2) 이때 1번 노드와 연결되어 있으며, 접근한 적이 없었던 노드 (Bool문이 false로 표시됨)을 발견하면, 해당 노드를 DFS한다. (3) 해당 노드를 DFS하기 ..

#11724 연결 요소의 개수 (C++)

링크 : www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주�� www.acmicpc.net 글만 봐서는 무슨 문제인지 감이 안잡히는데, 해당 예제 입력1을 따라 그림을 그려보면 위의 그림이 나온다. 보시다시피 결과적으로 나누어지는 연결 요소는 크게 2개로 나누어진다. 이처럼 각 선을 연결해봤을때 최종적으로 나누어지는 연결요소의 개수를 출력하는 것이 문제의 핵심이다. 문제 풀이는 다음과 같았다. (1) 모든 노드를 순회한다. (..

memset과 fill메모리 초기화 함수

bool check[50][50] = { false, }; // 일련의 과정으로 check에는 false와 true가 골고루 입력되었다 int main(void) { for (int i = 0; i < 50; i++) { for (int j = 0; j < 50; j++) { check[i][j] = false; } } return 0; } 배열을 특정 값으로 초기화 해야하는 경우가 있다고 가정하자. 위와 같은 50*50의 배열의 경우, 2중 for문을 통해 초기화 할 수 있다. 하지만 배열의 크기가 점점 커질수록 메모리 낭비는 심해질 것이다. 이때 사용할 수 있는 함수가 memset과 fill이다. Memset : 0(false)으로 채우자 #include //memset을 위해 필요하다. bool c..

#4963 섬의 개수 (C++)

링크 : www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도� www.acmicpc.net 문제 풀이는 다음과 같았다. (1) 방문하지 않은 섬을 DFS한다. (2) 해당 섬을 방문한 것으로 표기한 뒤, 해당 섬의 전방위에 섬이 있을 경우 그 위치를 DFS한다. (3) 만약 해당 섬의 위치가 주어진 영역을 초과하거나, 섬이 아니었거나, 이미 방문했던 전적이 있으면 DFS를 종료한다. #include #include #include #include //memset using namesp..

vector<int> v(n)과 vector<int> v[n]의 차이

vector v(n) N의 크기만큼 배열을 생성하며, 동시에 각 배열의 값을 0으로 초기화한다. push_back으로 값을 입력해도 되며, 배열의 값을 직접적으로 입력해도 된다. 각 배열에 별도의 입력값이 주어지지 않을 경우 '0'으로 출력된다. vector v[n] n*사용자가 앞으로 입력하게 되는 값의 갯수 만큼의 2차원 배열이 생성된다. 입력은 push_back을 활용한다. 출처 : www.quora.com/What-is-the-difference-between-vector-int-v-N-and-vector-int-v-N What is the difference between vector v(N) and vector v [N]? Answer (1 of 4): Whenever we de..

var / let / const 의 특징

var / let / const 모두 자바스크립트에서 변수를 선언할 때 사용된다. 겉보기에는 큰 차이가 없어보이나, 사용할때 각각 자기만의 특성이 있으므로 숙지해아한다. 1. var 변수의 재선언 가능 변수의 재할당 가능 로컬 / 전역 함수로 선언 및 활용 가능 function Example_var(){ { var x = 10; var x = 15; // 재선언 가능 x = 10; // 재할당 가능 } console.log(x) // 15+10 = 25출력 } 2. let 변수의 재선언 불가능 변수의 재할당은 가능 블록 스코프로 함수의 선언 / 활용 가능 function Example_let(){ { let x = 10; // let x = 15;

07/30/2020 déjà vu : Asia's second wave

déjà vu : Asia's second wave 데자뷔 : 아시아의 두 번째 풍파 "Sequels", says Eric Bana, an Australian actor trapped in his Melbourne home, "are the worst". 호주의 자택에 갇힌 배우 Eric Bana는 속편같은 지금의 상황이 가장 최악이라고 말한다. Melbourne is back in lockdown after a new covid-19 outbreak. 멜버른은 Covid-19의 발생 이후 다시 락다운으로 돌아왔다. The whole state of Victoria has been closed, but not before the virus sneaked into next-door New South Wal..