묻고 답해요
132만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
OnDestroy에서 콜백함수 지울 때 질문입니다.
Awake에서 리스너를 등록할 경우, 오브젝트가 한 번도 활성화 되지 않았다고 가정할 때 OnDestroy 함수가 호출되지 않아 나중에 오류가 날 수 있을 것 같은데요.(물론 Start에서 등록을 하면 아무런 문제가 없겠지만요.)Awake에서 리스너를 등록하는 경우는 아예 없나요?제 짧은 식견으로는 버그의 가능성만 보이고 실제 있을 법한 사례인지는 판단이 어려워 여쭤봅니다..
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
1대 다 fetch join 에 대해서 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]요새 너무 질문을 많이 하는 것 같네욤 ㅠㅠ1대다 fetch join 에서 @OneToMany 밑에다가 @BatchSize를 설정해서 성능을 최적화하는 강의 를 이해했습니다. 그런데 궁금한게 생겼습니다. 예를 들어 A, B , C 가 1대 다 , 다대 1 이라고 치면 (C는 중간 테이블 ) A에서 C의 데이터를 가지고 오는데 이 경우에는 @BatchSize를 이용해서 성능을 최적화하는게 좋은 방식인가요?예를 들면 A 에서 A.getBList().getC.Name() 이렇게 할 때 A에서 B에 대한 쿼리는 Batch Size 를 통해서 줄일 수 있어도 getC 를 통해서 또 쿼리가 나가는데 ....어떻게 보면 걍 B 의 리포지토리에서 @Query("select b from B join fetch C where b.a,id=:id) 이런 식으로 하는게 더 나아보이기도 하고요.. 어떤 식으로 하는 것이 더 효율적이라고 생각하시는게 궁금합니다!!!
-
미해결김영한의 실전 자바 - 기본편
질문
혹시 mutator method 랑 accessor method 는 어느 파트에서 다루어주시나요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd 창에 gradlew.bat를 입력하면 실행할 수 있는 프로그램, 또는 배치 파일이 아니라고 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다음과 같은 말이 나와요. 환경변수 설정하는 방법도 해봤는데 뭐가 문제일까요?
-
미해결[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
resoureceManager.cs질문
이전 유니티강의에서는public class ResourceManager { public T Load<T>(string path) where T : Object { return Resources.Load<T>(path); } public GameObject Instantiate(string path, Transform parent = null) { GameObject prefab = Load<GameObject>($"Prefabs/{path}"); if (prefab == null) { Debug.Log($"Filed to load prefab : {path}"); return null; } return Object.Instantiate(prefab, parent); } public void Destroy(GameObject go) { if (go == null) return; Object.Destroy(go); } } 로 로드할때 path안에 T타입에 해당하는것들을 찾아서 로드했는데 public class ResourceManager { private Dictionary<string, UnityEngine.Object> _resources = new Dictionary<string, UnityEngine.Object>(); private Dictionary<string, AsyncOperationHandle> _handles = new Dictionary<string, AsyncOperationHandle>(); #region Load Resource public T Load<T>(string key) where T : Object { if (_resources.TryGetValue(key, out Object resource)) return resource as T; return null; } public GameObject Instantiate(string key, Transform parent = null, bool pooling = false) { GameObject prefab = Load<GameObject>(key); if (prefab == null) { Debug.LogError($"Failed to load prefab : {key}"); return null; } if (pooling) return Managers.Pool.Pop(prefab); GameObject go = Object.Instantiate(prefab, parent); go.name = prefab.name; return go; }이번 강의에 것은 Dic으로 담아둘곳은 만들었는데 어디서 찾아서 Dic에다 담아두고 Load로 값을 반환하는지 모르겠습니다 모르겠습니다. 다시 계속 코드를 봤는데_resource라는 dic형태 데이터에 #region Addressable private void LoadAsync<T>(string key, Action<T> callback = null) where T : UnityEngine.Object { // Cache if (_resources.TryGetValue(key, out Object resource)) { callback?.Invoke(resource as T); return; } string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); asyncOperation.Completed += (op) => { _resources.Add(key, op.Result); _handles.Add(key, asyncOperation); callback?.Invoke(op.Result); }; } _resources.Add(key, op.Result);이 부분에서 데이터를 채워주는것 맞나요? 라이브강의 점점따라가기 힘들어서 시간날때 뒤에서부터 하나하나 계속 보고있습니다.. 강의를 다시보니 LoadAsync가아니라 LoadAllAsync에서 싹다 긁어서 dic데이터형태의 _resource에 메모리상에 들고있겠다로 해석되는데 맞나요?
-
해결됨스프링 핵심 원리 - 기본편
Scope 사용하는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점까지 강의를 듣고 어느정도 프로토타입의 특성을 알게 되었습니다. 그런데 실무 경험이 없어서 그런지 프로토타입을 왜 사용하는지, 싱글톤과 프로토타입을 왜 같이 사용하는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T. 번 강의 질문 스택 풀이시 시간복잡도
안녕하세요.강의 잘듣고잇습니다. 단순하게 풀엇을떄 2중 forloop 시간복잡도 O(N^2) . 시간초과 발생하였습니다. 스택 풀이로 하면 통과는 하게되는데,시간복잡도는 여전히 O(N^2). 인 것 아닌가요?
-
미해결[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
로드완료후 터치해서 게임신으로 넘어가면 생기는 오류입니다.
NullReferenceException: Object reference not set to an instance of an objectObjectManager.Spawn[T] (UnityEngine.Vector3 position, System.Int32 templateID) (at Assets/@Scripts/Managers/Contents/ObjectManager.cs:38)GameScene.Init () (at Assets/@Scripts/Scenes/GameScene.cs:24)InitBase.Awake () (at Assets/@Scripts/Utils/InitBase.cs:20)
-
해결됨홍정모의 따라하며 배우는 C언어
scanf 질문
질문1. float d = 0.00; scanf("%f", &d);일 때 사용자가 데이터를 입력하면, 데이터가 입력버퍼로 이동한다scanf는 입력버퍼에서 데이터를 읽어들일 때 형식지정자가 %f 이므로 float형으로 데이터를 변환한다%f와 저장할 변수의 타입이 일치므로 float형 변수 d의 메모리 공간에 데이터를 저장한다성공적으로 입력받은 아이템의 개수 1을 반환한다scanf가 이 과정대로 동작하는지 궁금합니다---------------------------------------------------------------질문2. 위 과정이 맞다면 double d = 0.00; scanf("%f", &d); printf("%f", d); 에서 사용자가 3.14를 입력하면3.14가 입력버퍼로 이동한다입력버퍼에서 3.14를 읽어들일 때 %f로 변환한다%f와 저장할 변수의 타입이 일치하지 않으므로 double형 변수 d의 메모리 공간에 저장하지 못한다성공적으로 입력받은 아이템의 개수가 없으므로 0을 반환한다이렇기 때문에 실행하고 어떠한 값을 입력하더라도 초기값인 0.000000이 출력되는 건가요?---------------------------------------------------------------질문3. unsigned ui; scanf("%i", &ui); printf("%i", ui); %i는 signed int 타입 변수의 형식지정자로, unsigned int형 변수 ui와 다른게 맞나요? 근데 사용자가 -123을 입력하면 어떻게 변수 ui의 메모리 공간에 -123을 저장해서 그것을 출력할 수 있는지 궁금합니다
-
해결됨[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
6강 ObjectManager에서 UI_Joystick
UI_Joystick 컴포넌트를 학습하는 도중에 궁금사항이 생겨 질문 드립니다.강의 중에 처음에 RawImage가 달리지 않은 오브젝트를 이용할때는 클릭했을때 조이스틱의 위치가변경되는 범위가 조이스틱 오브젝트가 있는 부분에서만 되었다가RawImage가 추후 부착된 프리펩을 이용했을때는 RawImage의 범위에 속하는곳에 어느곳에터치를 해도 조이스틱 위치가 이동이 되었는데.유니티를 아직 잘 다루지 못해서 추측해서 이해를 했는데 맞는지 한번 확인 부탁 드리겠습니다. public class UI_Joystick : UI_Base { enum GameObjects { JoystickBG, JoystickCursor, } private GameObject _background; private GameObject _cursor; private float _radius; private Vector2 _touchPos; public override bool Init() { ... gameObject.BindEvent(OnPointerDown, type: Define.EUIEvent.PointerDown); gameObject.BindEvent(OnPointerUp, type: Define.EUIEvent.PointerUp); gameObject.BindEvent(OnDrag, type: Define.EUIEvent.Drag); return true; }해당 스크립트에서 BindEvent로 연결해준 부분이 GetObject로 달아준 하위 오브젝트가 아니라컴포넌트가 달린 UI_Joystick 캔버스 자체에 이벤트를 달아주어서캔버스 자체에는 Raycast Target이 없기 클릭을 해도 이벤트 인식이 안되서Raycast Target이 활성화된 하위 오브젝트를 눌렀을때 이벤트가 발생이 되어서 처음에는 조이스틱 부에서만작동이 됬던것이 맞는가요?그게 맞다면 오브젝트 자체에 이벤트를 달아주게 되면, 그리고 그 오브젝트에 이벤트를 인식하는 Raycast Target가 비활성화 되어있거나 관련된 컴포넌트가 없다면, 그 이벤트가 달린 오브젝트의 모든 하위 오브젝트에 Raycast Target 상태를 확인해서 활성화 되어 있다면 하위 오브젝트에 모두 이벤트가 동작되게 되는것 인가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker 와 local DB 연결 시 각 폴더는 어떻게 연결되는 건가요?
안녕하세요! nestjs 수강생 입니다!docker 부분에서 질문이 있어서 문의 드리게 되었습니다. 현재 local 과 docker postgres image 가 이렇게 연결되어 있습니다. 알고 있는 점(1) docker-compose up 을 실행하면 두 폴더가 연결되며 docker postgres 의 데이터 폴더를 로컬 폴더와 매핑한다.(2) docker postgres 에서 데이터 손실 시 로컬에서 관리하는 postgres-data 폴더 덕분에 문제 없음(3) 로컬 폴더를 날리고 docker-compose up을 재 실행하면 모든 데이터 날라감. 궁금한 점(1) 개발자는 자신의 로컬 폴더에 있는 데이터만 CRUD 하고 그 결과가 docker postgres 에 반영되는 건가요? 그래서 로컬폴더를 삭제하고 docker-compose up 을 재 실행하면 데이터가 모두 날라가는 건가요?(2) docker-compost up 을 실행하면 처음에는 로컬에서 docker postgres 에 데이터를 가져오는데 그럼 ./postgres-data 폴더가 있을때와 없을때가 다르게 동작하는 건가요? 예를들어 있을때는 로컬에서 docker postgres 로 전송, 없을때는 docker postgres에서 로컬로 전송. 아래는 제가 이해하고 있는 점인데 어떤 부분이 맞고 틀린 지를 알 수 없어서 쭉 적어봤습니다!!처음 docker-compose up 을 실행하면 ./postgres-data 폴더가 없어서 docker postgres의 폴더를 복사해서 가져와 매핑합니다. 매핑 되어있는 폴더 덕분에 우리는 로컬 폴더와 TypeORM 을 사용해서 데이터에 변화를 주고 이러한 CRUD 는 docker postgres 에 반영됩니다.이러한 매핑 덕분에 docker 가 문제가 되어 docker postgres 의 데이터가 삭제되어도 로컬에서 저장된 데이터를 매핑할 수 있어 데이터를 보존할 수 있습니다.로컬에서 ./postgres-data 를 삭제하고 docker-compose up 을 실행하면 docker postgres 는 로컬의 CRUD 중 Delete 상황을 docker postgres 에 반영하여 데이터를 모두 삭제하고 폴더가 없어졌으니 다시 받아오는 작업을 한다. 혹시 잘못된 개념 부분이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
defaultexceptionhandler와 myhandlerexception
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]defaultexceptionhandler에 대한 내용을 학습 중에 실행해보니 이전에 학습한 myhandlerexception에서 처리한 IllegalArgumentException 의 에러라서 myhandlerexception이 실행되고 was에서response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage()); 에 대한 코드 실행이 작용되는 것이 맞나요?? 강의 중간에 myhandlerexception을 무효화하는 장면이 없었던거 같은데 어느 부분에서 차이가 발생한 것인지 궁금합니다-> url 쿼리로 ?data=10 을 적고 포스트맨을 실행해도 400 에러가 뜨기에 위와 같은 생각을 했습니다.(defaultexceptionhandler가 작동을 안한다고 판단)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OpenJDK 64-bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended경고가 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)A. 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)A. 아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)A. 네[질문 내용]테스트 코드 실행을 하면OpenJDK 64-bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended이 경고가 계속 뜹니다.https://www.inflearn.com/questions/917150/openjdk-64-bit-server-vm-warning찾아보면서 이 답변을 따라해도 로그가 뜨지 않고 경고가 뜨는데 어떻게 해야하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
갑자기 강의듣다가 servlet질문인데요!
ApplicationContext(Spring Container)는 Interface로 되어있고 우리가 흔히알고있는AnnotationConfigApplicationContext만 스프링 컨테이너라고 알고있었습니다. 그런데 강의를 듣던도중에 servlet에 대한 AnnotationConfigApplicationContext를 찾아보니 AnnotationConfigWebApplicationContext에 대한 spring container도 찾아볼수있었습니다 그래서 AnnotationConfigApplicationContext == AnnotationConfigWebApplicationContext 인거같아 공식문서를 봐보니<p>This is essentially the equivalent of {@link org.springframework.context.annotation.AnnotationConfigApplicationContext * AnnotationConfigApplicationContext} for a web environment. 라는 설명이 나오는군요.첫번째질문으로, 본질적으로는 같은것인데 http요청이 있을때의 ApplicationContext는 AnnotationConfigWebApplicationContext를 쓰고 단순히 project에서 bean을 등록하고 관리하는 ApplicationContext는 AnnotationConfigApplicationContext를 쓰는거같은데 맞나요? 두번째 질문으로,protected WebApplicationContext createRootApplicationContext() { Class<?>[] configClasses = getRootConfigClasses(); if (!ObjectUtils.isEmpty(configClasses)) { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.register(configClasses); return context; } else { return null; } } /** * {@inheritDoc} * <p>This implementation creates an {@link AnnotationConfigWebApplicationContext}, * providing it the annotated classes returned by {@link #getServletConfigClasses()}. */ @Override protected WebApplicationContext createServletApplicationContext() { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); Class<?>[] configClasses = getServletConfigClasses(); if (!ObjectUtils.isEmpty(configClasses)) { context.register(configClasses); } return context; } root ApplicationContext와 ServletApplicationContext에 대한 코드를 공식문서에서 가져왔는데 root ApplicationContext와 ServletApplicationContext는 부모-자식 관계로 이루어져있다고 나와있습니다. 하지만 서로 WebApplicationContext로 구현이 되어있는데 어떻게 부모-자식 관계가 되는걸까요? 세번째 질문으로. root ApplicationContext는 @Service, @Repositroy의 역할이며 Web ApplicationContext는 @Controller역할이라고 나와있는데 @Service, @Repository, @Controller은 Bean으로 등록되어 Spring container로 관리가 된다고 알고있습니다. 물론 WebApplicationContext도 ApplicationContext를 구현한 spring container이긴 하지만 Servlet에 대한 요청과 다른부가적인 요소를 담당한다고 해서 Servlet Container로써 알고있습니다. 그렇게되면 @Service, @Repository, @Controller은 spring에서 관리가 되는것이아닌 servlet에서 관리가 되는게 아닌지 헷갈려서 질문드립니다. mvc1편에서 servlet container와 spring container를 다르게 구분해서 사용한다고 알고있었는데 공식문서를 찾아보니 하나의 ApplicationContext에서 사용되는거같아 정확한 구분이 필요할거같아 오랜만에 질문드립니다
-
미해결코틀린 문법부터 실무까지 (자바 to 코틀린 실무)
안녕하세요 질문이 있습니다.
var 보단 val 을 사용하라고 하셨는데 그렇다면 var은 언제 사용해야하나요?
-
해결됨친절한 블렌더 - [LV.0] 입문 필수
저는 왜 이런식으로 편집이 안될까요?
https://www.youtube.com/watch?v=PJDN46arCFI&lc=Ugx9-23VU2oj6no-SOx4AaABAg.9z793mOSBOC9z8YTWMJaqE 여기에 27:22 부분에 똑같이 SUVDICISION SURFACE 로 모델링 수정을 하고있는것 같은데 저렇식으로는 어떻게 하는 건가요?
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
kubelet interface
안녕하세요! 강의 도중 질문이 있어서 남깁니다!쿠버네티스 흐름으로 이해하는 컨테이너 영상 중Kubelet 에 구현부를 띄워서 규격에 맞게 CRI를 돌리게 되었다는 것이 무슨 말인지 잘 이해가 안갑니다 ㅠㅠ 감사합니다!- 최대한 캡쳐 화면를 남겨주시면 문제 확인에 더 도움이 됩니다.긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
제 코드에서 잘못된 부분을 알고 싶습니다!
안녕하세요 선생님,http://boj.kr/eabdc120ede54df9bf4da138381baa63 2870 번 수학숙제 문제를 풀어봤습니다.입력받은 문자열에서 알파벳은 모두 '*' 로 바꾸고, 변경된 문자열을 토대로 재귀 함수를 이용하여 정수 부분을 추출하려고 하였으나, 어째서인지 문자열의 첫 번째 정수만 출력되고, 두번째 정수는 출력되지 않습니다. 예를들어, "lo3za4" 라는 입력값이 들어가면, 출력으로 첫 번째 정수인 3만 출력되고, 4는 출력되지 않습니다. 어느 부분에서 어떤 실수가 있는지 알려주시면 감사하겠습니다. 좋은 강의 늘 감사드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbc properties에 유저와 패스워드가 없어서 그런지 에러가 뜹니다
[질문 내용]이렇게 뜨고있고, 유저랑 패스워드가 틀렸다는 에러가 뜹니다.ip 주소때문이라 생각이 들어서 localhost로 변경 후 톰캣을 재실행 했음에도 여전히 유저와 비밀번호가 틀렸다는 에러가 나옵니다. properties에 유저와 패스워드를따로 설정해줘야할까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 질문
안녕하세요 큰돌님 조금 다른 로직으로 풀었는데 TC랑 반례들 다 적용해보아도다 통과되는데 제출하면 틀렸다고 해서 제가 어느부분을 놓친건지 질문드립니다. 전역변수저는 연결정보를 다음과 같이 map과 set을 활용하였습니다.const int INF = 987654321; int n{}; int arPopular[15]{}; // 각 구의 인원수 저장 용도 map<int, set<int>> graph{}; // Key : 구. Value : 해당 구랑 연결된 구들 int minDiff = INF; // 나눠진 두 구의 최소 인원수 차이구현 함수 프로토타입// Gu - FindNode 가 서로 연결되어 있는지 여부 bool IsConnect(int Gu, int FindNode); // 하나의 구역이 끊김 없이 연결될 수 있는지 bool IsAreaConnected(const vector<int>& Area); // 인구수 차이 구해오기 int GetDifPop(const vector<int>& Area1, const vector<int>& Area2); 일단 저의 로직 순서는 다음과 같습니다.비트마스킹으로 모든 경우의 수를 탐색한다. 각 경우의 수마다 비트가 0이면 vector1에다가, 1이면 vector2에다가 넣어준다. 여기까지 되었으면 일단 두 그룹으로 나뉘어진다. 각 그룹에 대해서 Union Find 알고리즘을 적용해서 서로 끊기지 않고 연결될 수 있는지 확인한다. 만약 두 그룹 모두 끊기지 않고 연결될 수 있다면 우리가 원하는 2개의 구역으로 나눈것이다. 이하 최소 찾는 로직부터는 동일. 코드 링크는 여기있습니다!http://boj.kr/bbe484bd863f42fbba08a1e48b55dad2