goosegoose.DRAM
article thumbnail
"="은 expression일까 statement일까 (바다코끼리 연산자 :=)
억까해결기 2023. 8. 6. 18:32

배경 Union Find 관련 문제를 풀던중 있던 일이다. C언어로 작성한 Find 함수는 아래와 같았다. int Find(int x){ if (x == parent[x]){ return; } return parent[x] = Find(parent[x]); } 이 함수를 python으로 그대로 옮긴 후 실행해 보니 def find(x): if x == parent[x]: return x else: return parent[x] = find(parent[x]) smantic error도 아니고 syntax error 라니!! c언어는 되는데 python은 안되는 이유가 궁금해졌다. Python Document 확인 그래서 일단 python document를 살펴보았는데 문제가 되는 부분이 여기인 것같다. ..

article thumbnail
뿅뿅망치 팀 2023 하계 모각코 활동 3

union find 문제를 풀어보자! https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net c 언어로 풀어봤다 # #include # #include int parent[1000000]; int Find(int x){ if (x == parent[x]){ return x; } else{ return parent[x] = Find(parent[x]); } } void Union(int x, int y){ x = F..