- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/a5a4b9c232c94d43bbdb5a357da579fb 안녕하세요! 해당 문제 ' ( ' 이 들어오면 stack에 푸시하고 ' ) ' 이 들어올 경우 ' ( ' 인 경우 pop, cnt 2증가, / 2. 빈 스택이었을 경우 맥스 값을 갱신하고 cnt=0으로 설정해주었습니다 틀렸다고 나오는데 어떤 반례가 있는지 궁금합니다.. 또한 어떻게 고치면 좋을지 여쭤봅니다 감사합니다 ^^
n,k = map(int, input().split()) data = list(map(int, input().split())) m = int(input()) cnt = 0 def dfs(l,s,c): global cnt if l == n: if c == k: if s % m == 0: cnt += 1 return dfs(l+1,s+data[l],c+1) dfs(l + 1, s, c) dfs(0,0,0) print(cnt) 이렇게 풀어도 되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. https://www.acmicpc.net/source/81782607 여기서 제가 짠 코드처럼 입력받는 반복문을 돌릴때 입력을 받고, 그 값을 비교하여서 바로 그 Y,X 위치에 값을 대입하는 것은 안되는 건가요?! 입력, 거리 값 대입 반복문 두개를 돌리는 코드로 설명하셨는데혹시 이유가 있나해서 여쭤봅니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 main함수 2번쨰 라인질문입니다. 제 사고과정에서는 첫번쨰, lower_bond함수가 이터레이터를 반환하고 두번쨰, 그걸 역참조해서 요소값(=3)이 됐고 세번쨰 , 그 요소값의 주소를 한게 &* 연산이니까 메모리 주소끼리 뺴면 8이라고 생각했습니다.(int형 4바이트씩 2칸 차이이므로) 왜 인덱스차이인 2로 나왔는지 추가 설명좀 부탁드립니다 큰돌님 ps) 아래처럼 출력햇을떄 주소값으로 나오는거까지 확인햇는데 주소값끼리 뺏는데 어떻게 인덱스차이인 2가 나오는지 궁금합니다 ( int형 4바이트 * 2 해서 8이 아닌..)
안녕하세요. 너무 기본적인 질문이지만 ㅜㅜ 이해가 가지 않아서 이렇게 질문을 드립니다. 디버그를 돌려 보았을때 while문 안에서 s.top ()을 찍어보았더니 0, 2, 1 이런 순서로 나왔습니다. 그런데 이미 for문은 i 3번째 까지 모두 돌아간 상태인데 ret[1]의 순서가 어떻게 다시 올 수 있는걸까요? ret[0] = a[1] ret[2] = a[3] 여기까지는 이해를 했는데 ret[1] = ??? 이 부분이 이해가 가질 않습니다. 너무 기본적인 질문인데 뜬금없이 이 부분이 이해가 가지 않아서 당황스러워 이렇게 질문 드립니다 ㅜ
http://boj.kr/4b3abb45ebbc439d9e4c7f566089586e 오큰수를 찾는 과정을 처음부터 쭉 찾아나가다가 왼쪽에 나보다 작은수가 있다면 스택에 넣는다. 나보다 큰수가 나온다면 스택에 저장된 크기만큼 해당 숫자를 출력한다. 만약 나보다 큰수가 한번도 안나온다면 -1을 출력한다. 의 과정으로 진행하였습니다. 예시답안도 정상적으로 나왔는데 왜 틀린건지 어떤 논리적 오류가 발생했는지 궁금합니다
http://boj.kr/274cddfc8f7c407dbb80ceb768312ab4 이렇게 풀었는데 백준에서는 맞다고 하는데 vscode에서는 계속 값이 출력이 안됩니다. 디버깅을 위해 while(cin >> n){ cout << "n 입력 : " << n; ret = 1; cnt = 1; 이런식으로 해보아도 출력되는 것이 전혀 없는데 뭐가 문제일까요..? Dev-C++로도 출력이 안됩니다...!
static void solution(Queue<Point> q, int[][] box) { while (!q.isEmpty()) { // int len = q.size(); // for (int i = 0; i < len; i++) { Point tmp = q.poll(); for (int j = 0; j < 4; j++) { int nx = tmp.x + dx[j]; int ny = tmp.y + dy[j]; if (nx >= 0 && ny >= 0 && nx < n && ny < m && box[nx][ny] == 0) { box[nx][ny] = 1; q.offer(new Point(nx, ny)); dis[nx][ny] = dis[tmp.x][tmp.y] + 1; } // } } } } 위에서 주석처리된 queue의 사이즈를 구한 후 레벨 탐색(?)으로 진행하게 되면 타임에러가 발생하는데 왜 발생하는지 모르겠습니다. 성능 차이가 많이 나나요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1.해당 강의 4:26초에서 1과 인접한 노드는 0과 2뿐이라고 말하셨는데 3도 인접한 노드 아닌가요?? go함수내에 있는 go함수의 동작이 모두 끝난후 원복에 관한 코드를 보면 노드 2를 0상태, 즉 방문하지 않은 상태로 돌리고 v벡터에서 제거하는 동작까지는 이해를 했습니다. 하지만 그 이후에 3이 다시 들어가는 원리를 이해 못하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Set, List, Map 등 자바에서 제공하는 자료구조에 제네릭 타입을 특정해서 정하지 않고, Object로 사용하면 하나의 자료구조에 여러 가지 데이터 타입을 저장하고 관리할 수도 있을 것 같은데 선생님 수업에서는 거의 Integer 혹은 String으로 제네릭 타입을 정하고 사용을 하시는 부분이 많더라구요. 궁금한 점은 제네릭 타입을 Object로 사용하는 것이 타입 안정성 때문에 보통은 사용을 안 하는 건지 만약 사용을 한다고 할때 자료구조의 메서드 사용에는 문제 없는지 알고싶습니다.
안녕하세요 강사님 04_ListAndIndex의 원본 코드의 signleList.c파일의 SearchByIndexAgeRange함수의 354번째 줄 라인에서 int length = idxMax - idxMin + 1; USERDATA** aSelected = malloc(sizeof(void*) * length); memcpy(aSelected, aList + idxMin, sizeof(void*) * length); 와 같이 aSelected의 리턴 타입이 USERDATA** 인데 왜 malloc으로 생성할때, "malloc(sizeof(void*) * length);"로 왜 void*의 size만큼 생성해주는지 잘 모르겠습니다. USERDATA** aSelected = malloc(sizeof(USERDATA*) * length); 다음 위의 코드처럼 "malloc(sizeof(USERDATA*) length);"즉, USERDATA* 의 size가되어야 알맞지 않나요?? 아니면 USERDATA* 와 void* 모두 크기가 8byte라서 메모리가 할당되는 크기가 같은건가요?? 제가 알고 있는 개념이 맞는걸까요?? 강의 잘 듣고있습니다 감사합니다.
맥북 m1 프로에서 실행하려고하는데 위 오류가 납니다. 벡터없이 배열로 돌리는 코드까진 잘 돌아갔는데 #include <bits/stdc++.h> using namespace std; int main() { int a[] = {1, 2, 3}; do { for(int i : a) cout << i << " "; cout << '\n'; } while(next_permutation(a, a + 3)); 이렇게 벡터를 추가하고나서 오류가 납니다. #include <bits/stdc++.h> using namespace std; int main() { int a[] = {1, 2, 3}; do { for(int i : a) cout << i << " "; cout << '\n'; } while(next_permutation(a, a + 3)); vector<int> v = {1, 2, 3}; do { for(int k : v) cout << k << " "; cout << '\n'; } while(next_permutation(v.begin(), v.end())); return 0; } setting.json에서 "C Cpp.default.cppStandard": "c++17", } 이설정 추가 그리고 vscode 확장 -> c++17 설정도 시도해보았는데, 오류가 지속됩니다.
안녕하세요 선생님 제가 처음에 visited 대신해서 vector를 함수 parameter로 넘기는 방식으로 코드를 짜보았는데 시간초과가 나왔습니다. 그 이유가 무엇인지 알 수 있을까요? 해당 vector를 visited로 바꾸자마자 바로 통과 했습니다. http://boj.kr/04db1b073dee466cad92e220313f886f
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/2dc048384b444c409a1766d05a3eb71c 안녕하세요! 0의 갯수에서 3개를 골라 a배열에 1을 대입하고 값이 2인 경우 dfs 돌면서 0인 경우 카운트를 해 2 영역의 최솟값을 구했습니다. 출력은 처음 0의 갯수에서 0->1로 바뀐 3과 2영역의 최솟값인 mi를 빼서 zero.size() - 3 - mi 로 구했는데 예제입력 2번에서 mi값이 0이 나오는데 어떤 오류인지 모르겠어 질문남깁니다.
링크드리스트의 list를 그냥 System.out.println(list); 했을때, 아래의 내용이 맞는지 궁금합니다. LinkedList 의 toString 메서드는 AbstractCollection 클래스에서 오버라이딩된 toString 메서드를 상속받아 사용합니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= Set 정리 14:58에서 데이터 개수가 8개 이상이 되면 TreeSet으로 바꿔서 equals를 수행한다는 말씀은, HashSet, LinkedListSet으로 선언하여도 자바가 탐색 시에만 자동으로 변경한다는 말인가요?