목록2025/06 (3)
total_activ

C#과 C++의 참조 의미 차이C#은 포인터가 없다.객체: 레퍼런스 타입. 레퍼런스 값 저장됨레퍼런스 객체의 주소 역활을 하는 난수모든 객체는 힙에 생성된다.C++과 유사한 구조를 C#일 가지고 있지만 참조의 의미가 다르다.C++에서 참조값은 주소값을 의미하지만, C#에서는 직접 주소에 접근하는 것이 위험하다고 해서 막혀있다.그래서 C#에서의 참조값은 객체의 참조값을 갖는 참조변수을 의미한다. 코드 예시말로만 설명하면 이해가 안되니 아래 예시를 들어보겠다.class Test{ public int A { set; get; } public int b; public Test(int a, int b) { this.A = a; //this: 현재 객체의 참조값을 갖는 참조변수 ..

오늘은 정말 말도 안되게 날씨가 좋았다.아침에 비가 올 날씨였는데 점심에는 햇빛과 함께 바람이 선선히 부는 완벽한 초여름날씨 였다.그래서인가.. 햇살은 포근하고, 바람은 선선하게 불어오고... 갑자기 이런 생각이 들었다.한강 바라보면서 점심 먹고 싶다. (참고로 저는 극P입니다, 갑자기 훅- 떠나는 사람이에요 ㅎㅎ)그래서 진짜 갑자기, 오늘 오후 3시에 노들섬에 갔다. 서울역에 사람이 너무 많길래, 노들섬도 북적일 줄 알았는데… 의외로 눈치싸움에서 이겼다. 예상이 빗나가 기분이 좋았달까. 노들섬 피크닉 여행노들섬에 도착하자마자, 배고픈 마음에 버스정류장 앞에서 서브웨이 샌드위치를 배달시켰다. 배가 너무 고팠다 정말 ㅋㅋ그동안 도서관도 구경하고, 한강 근처 산책길도 걸어봤다.샌드위치를 어디서 먹을지도 슬쩍..
잘못된 접근이 문제를 딱 봤을때 부모 트리를 사용해야 하나? 라는 생각이 들었다.merge를 하려면 최상위 부모만 변경해서 진행하면 편할것 같았다.근데 바로 적용이 안되었던거는 트리.. 알고리즘을 잘 사용하지 못하고 별로 안좋아하기 때문이다.결국, 병합한 것들을 모두 vector 변수에 저장하는 식으로 진행했다. 하지만, 어설픈 코드 구성은 결국 테스트 코드만 성공하는 결과를 초래했다. 올바른 접근Union Find 함수루트 노드값을 찾아내는 find함수두가지 집합을 합치는 union 함수이렇게 두가지 함수가 이번 문제에 활용되었다.근데 나에게 가장 헷갈렸던거는 노드를 접근하는 방식이 x,y인 것이다.하지만, 실제로 코드를 짜다 보니까 겁먹을 필요가 없었다. 기본적인 코드는 아래와 같다.int root..