큰돌님 안녕하세요. 3주차 문제들을 풀던 중 의문점이 생겨서 질문드립니다. 3주차 개념강의 때 합을 mod 11한 숫자 중 가장 큰 수를 구하는 예시문제가 있었습니다. 이 문제를 아래와 같은 방법으로 재귀를 통해 각 숫자별로 더할지 말지로 나눠서 숫자가 {1,2,3}인 경우는 총 경우의 수가 8이 된다고 말씀하셨습니다. go(idx + 1, sum + v[idx]); go(idx + 1, sum); 그런데 3주차 문제들을 풀던 도중 백트래킹을 쓰는 경우와 이렇게 재귀로 현재 위치를 하나씩 증가시켜가며 포함하는지 안하는지를 체크해가며 완전탐색을 돌리는 경우가 같은 경우가 아닌가 하는 의문점이 들었습니다(둘 다 모든 경우를 따지는 것이기 때문입니다). 그래서 개념강의 예시문제를 다시 백트래킹으로 풀어보았는데 {1,2,3}인 경우에서 8번의 경우를 따져야 하는데 경우의 수를 4번만 도출해는 것을 확인하였습니다. 아래는 백트래킹으로 구현한 mod 11 문제입니다. #include<bits/stdc++.h> using namespace std; const int mod = 11; int n, temp, cnt, ret; vector<int> v; void go(int idx, int sum){ if(idx == n){ ret = max(ret, sum % mod); cnt++; return; } for(int i = idx; i < n; i++){ sum += v[i]; go(i + 1, sum); sum -= v[i]; } // 설명해주신 방식 // go(idx + 1, sum + v[idx]); // go(idx + 1, sum); } int main(){ cin >> n; for(int i = 0; i < n; i++){ cin >> temp; v.push_back(temp); } go(0, 0); cout << ret << '\n'; cout << cnt << '\n'; } 코드를 하나하나 디버깅해가며 체크해보면서 왜 4번만 경우를 구하게 되는지는 알게 되었는데, 개념적으로 백트래킹이라는 개념이 모든 경우의 수를 구하는 것이고, 기존에 풀었던 방법인 idx를 증가시키면서 해당 위치의 숫자를 더할지 말지를 구하는 것도 모든 경우의 수를 구하는 것이라서 두 경우의 문제 접근할 때의 사고방식이 같다고 생각하는데 왜 백트래킹은 안되는 것인가요? 두 경우의 차이점이 너무 헷갈립니다 ㅠㅠ
안녕하세요 영한님! 면접을 위해 다시 복습하다 궁금해진게 있어 질문드립니다. 질문 내용은 제목과 같은데요, 평소에 웹 애플리케이션을 개발하면서 수동 주입보단 자동 주입을 자주 활용해왔고 강의의 AutoAppCofing 와 같은 Bean 설정 클래스를 전혀 사용하지 않고 개발했음에도 별 문제가 없었습니다. 다른 질문들도 많이 확인해봤는데 main() 안에 @SpringBootApplication -> @SpringBootConfiguration -> @Configuration 이 이미 적용되어있기 때문에 굳이 설정 클래스를 만들지 않고도 Bean 객체의 싱글톤을 보장받을 수 있다고 짐작하고 있는데요, 제가 생각한게 맞을까요 ? 제 생각이 맞다면 수동 주입 시에도 @Configuration 이 없어도 @Configuration 이 적용되어 싱글톤으로의 반환이 보장될 것 같은데.. 잘 모르겠습니다.
안녕하세요. 강의 잘 들었습니다 :) 저는 홈페이지 디자인을 위주로 하고 있는데 포토샵, 일러스트, xd를 주로 사용하다가 피그마가 대세인거 같아서 강의를 들었는데요! xd에서는 이미지 삽입 후 포토샵으로 연동되는 기능이 있어 보정하면 자동으로 xd에서 반영이 되는데 피그마에는 그런기능이 없는거죠? 그럴경우.. 피그마에서는 어떻게 디테일한 사진보정을 하나요? 사이즈 확인 후 포토샵에서 작업 후 다시 이미지 삽입을 해야되는건가요? 답변부탁드립니다 감사합니다!
프리캠프 css정렬강의에서 자식 box들을 정렬하기 위하여, 부모 box의 속성 및 값으로 display: flex을 먼저 쓰고, flex-direction : row로 할건지, flex-direction : column으로 할건지 결정하고. 이어 justify content나 align itmes등을 사용하던데 그럼, display: flex의 기능은 무엇인가요? display : flex 라는 코드 없이 위의 flex기능들을 구사하면 문제가 생기나요?? 시험삼아 display : flex 라는 코드 없이 뒤이어 flex-direction : row; justify items : center; align items : center; 라고 적고 확인해보니. 부모 박스 안에 자식 박스가 마치 flex-direction : column ; 만 실행된 것과 같은 효과가 나타났습니다.
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
DB 조회 조회된 내용으로 비즈니스 로직 처리(자바 코어 연산) 연산된 결과 DB 등록 사용자 요청시에 위의 3가지 업무를 Webflux로 처리해야한다면 어떤 방식으로 처리해야하는지 감이 잘 안오는데, 설명 부탁드립니다. Webflux에 적합하지 않은 업무일 수도 있다는 생각이 들어 문의드리게 되었습니다. 참고로 위의 3가지 업무는 순차적으로 처리가 되어야 하는 업무입니다. publisher가 위의 3개 내용을 각각을 별도의 subscriber에게 발생한다면 데이터 정합성이 깨질거 같은데...어떻게 처리해야하는지 설명부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 동적 라우팅을 사용하고, $route 파라미터의 변경에 따라 특정 API를 호출 해야 한다면 watch를 쓰는게 의도적으로 적합할 것 같은데 맞을까요? computed의 경우 파생된 데이터의 계산값을 미리 선언해놓고 캐싱까지 되어서 편리하지만 계산된 값의 대해서일 경우이고, 아직 '중첩 라우트' 강좌까지 밖에 못들었지만 bid, cid에 따라 해당 데이터의 정보를 요청해야 한다면 watch로 파싱하는게 좋을 것 같습니다.. 라고 생각해봅니다 api호출의 대해서 componentDidMount 처럼 created 에서 호출해주면 될거라 생각했는데 route의 변경에 감지되지 않는건 처음 알았네요
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
4.2 스택프레임 강의 수강중입니다 x32와 x64는 다르다고 하셨는데 주소가 4byte, 8byte 차이인거 말고도 push 가 없고 mov만 쓰고 있는거 같기도 했는데 제꺼는 선생님꺼랑 다르게 RDX 레지스터로 mov하는것 같았습니다 mov 해서 b를 넣기 전에는 RDX 값이 RDX = 0000014CC24ABD40 였다가 b를 넣고 난 이후에는 RDX = 0000000000000005 로 바뀌었는데 주소가 들어가있다가 값으로 바뀌는게 너무 어색합니다 기존에 RDX에 들어 있었던 0000014CC24ABD40 는 쓰레기 값인가요??? x64에서 원리가 궁금합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업도중 예제 화면을 보면서 작업중이였는데 갑자기 이미지가 뜨지 않습니다;; https://cataas.com/ 여기 도메인이 죽어서 이미지가 보이지 않습니다 ㅠ 확인 부탁드립니다.