묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D 질문 있습니다
http://boj.kr/e94fb8e43b714794a0950505c0091594 아래의 dfs 함수에서 a[ny][nx] == 1일때 왜 continue 하는 것 인가요?int dfs(int y, int x){ visited[y][x] = 1; int ret = 1; for (int i = 0; i < 4; i++) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || nx < 0 || ny >= m || nx >= n || visited[ny][nx] == 1) { continue; } if (a[ny][nx] == 1) { continue; } ret += dfs(ny, nx); } return ret; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
그리디로 풀린다는 판단히 명확하게 서지 않습니다.
31883번: FA수의 진 (acmicpc.net)백준의 31883 문제를 DP로 풀면 깔끔하게 풀릴 수 있다고 생각해서 DP로 풀었습니다. 하지만 풀고나서 문제 카테고리가 그리디로 있는 걸 확인하고 그리디로 풀으니 더 코드가 깔끔하게 풀리는 경험을 했습니다. 그리디로 풀린다는 판단은 이 문제에서 어떻게 생각해야 되는 걸까요? 그리고 그리디 문제다 하는 판단 근거 유추를 어떻게 해야 하는지 강의에 있는 내용 외로 보충 설명 해주시면 감사하겠습니다. 아래는 DP로 풀은 코드 입니다.import sys input = sys.stdin.readline N = int(input()) times = [list(map(int, input().split())) for _ in range(N)] memo = [[0] * 2 for _ in range(N)] memo[0][0] = times[0][0] memo[0][1] = times[0][1] for i in range(1, N): t1 = memo[i-1][0] tmp = t1 % (times[i][2] + times[i][3]) if tmp >= times[i][2]: t1 += times[i][2] + times[i][3] - tmp t1 += times[i][0] t2 = memo[i-1][1] tmp = t2 % (times[i][2] + times[i][3]) if tmp >= times[i][2]: t2 += times[i][2] + times[i][3] - tmp t2 += times[i][0] cross1 = min(t1, t2) t3 = times[i][1] + memo[i-1][0] t4 = times[i][1] + memo[i-1][1] cross2 = min(t3, t4) memo[i][0] = cross1 memo[i][1] = cross2 print(min(memo[N-1]))
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 메서드 사용 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제네릭을 사용할 때 궁금한 점이 생겨서 질문드립니다.Integer i = 10;Object object = GenericMethod.objMethod(i);// 타입 인자(Type Argument) 명시적 전달System.out.println("명시적 타입 인자 전달");Integer result = GenericMethod.<Integer>genericMethod(i); 현재는 Integer i = 10;으로 래퍼클래스를 사용하고 있는데,만약 int i = 10;과 같이 기본형을 전달하면 '오토 박싱'이 되어서 Integer객체로 변환되어서 메서드에 전달되는 걸로 이해하면 될까요?
-
해결됨김영한의 실전 자바 - 중급 2편
자바가 제공하는 Set 질문
안녕하세요 항상 최고의 강의를 제공해주셔서 감사드립니다.강의를 듣던 도중 질문이 생겨 글을 남깁니다. 섹션 8번 컬렉션 프레임워크 강의의 자바가 제공하는 Set은 출력 하였을 경우영한님과 함께 만들었던 MyHashSet과 달리 비어있는 인덱스는 출력이 되지 않던데 이 또한 최적화로인해 출력이 안되는 것인지 궁금합니다. 만약 그렇다고 하면 initialCapacity의 값을 입력하거나, 데이터의 양을 배열의 크기의 75% 이상으로 늘렸을 경우 rehashing 되는지 육안으로 확인할 방법이 없는지 또한 궁금합니다.(rehashing 후 커진 배열에 다시 맞추어 데이터의 순서가 변경되는 것은 확인하였는데 단순히 배열의 크기가 커진 것을 확인할 방법이 궁금합니다.)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dfs 참조 관련 질문이 있습니다.
http://boj.kr/00157dd8760445ee824ec29f0029de12안녕하세요 선생님 좋은 강의 감사합니다. dfs함수에 매개변수로 v를 참조를 명시하는 이유가 궁금합니다. 저는 매개변수에 v를 넘기지 않고 풀었는데 (v를 전역변수로 설정해서) 답안지에는 v가 매개 변수로 넘어가서 궁금합니다. 감사합니다.
-
미해결2주만에 통과하는 알고리즘 코딩테스트 (2024년)
정수론 최적화 #1407문제 질문있습니다
1 2 3 4 5 6 7 8 2**0 o o o o o o o o -> 8개 (8 // 1) 2**1 o o o o -> 4개 (8 // 2) 2**2 o o -> 2개 (8 // 4) 2**3 o -> 1개 (8 // 8)강의에서 위의 내용까지는 이해를 했습니다.(8!에 2가 몇 번 곱해져있을까? 를 구하는 방법이라고 이해하고 있습니다) 강의하시는 중(24:30초 즈음부터)에 아래의 빨간 네모부분의 계산을 왜 하시는건지 이해가 잘 안됩니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-O 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 두번째 말씀해주신 방법에서 분기점이라는 개념이 이해가 잘 안되서 질문 남깁니다. ((()))()과 같은 예시가 설명과 동일하게 존재할 때ret = max(ret, i - s.top());을 수행하면마지막 7번째 i에선 7-5를 수행하게 되어서 ret에 6이 들어가서 오답이 되는것이 아닌가라는 의문이 있습니다. 제가 잘 이해를 못한 부분이 존재하는 것 같아서 질문남깁니다. 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - S visited 사용 질문입니다
안녕하세요 선생님 수업 잘 듣고 있습니다.제가 어떠한 grid를 인풋으로 받아 dfs 혹은 bfs를 할때 visited를 사용하는 이유는 이해를 하고있습니다. 그런데 이번 문제의 경우 어느 상황에서 visited가 사용되는지 이해가 되지 않습니다. 제 생각에는 한번 들어간 노드에는 그에 따른 하위 노드로 넘어갈뿐 똑같은 노드에 들어가는 상황이 없다고 생각됩니다. 어떠한 상황에서 visited가 사용되는지 궁금합니다. 감사합니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
중복해서 1로 돌아가는 내용관련해서 질문드립니다.
1번과 2번 노드는 양방향으로 이동이 가능하기 때문에 제 생각으로는 배제하신 1 > 2 > 1 > 3 > 4 > 5나 1 > 2 > 1 > 4 > 5 도 모든 경로의 가지 수 중 하나가 아닌가 싶은데 어떻게 생각하시는지 여쭤보고 싶습니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
채점기의 TLE는 몇 초인가요?
궁금합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-B 문제 문의
안녕하세요 선생님,8-B 문제에 대해 문의드리고 싶습니다.저는 재귀를 들어갈 때 마다 (스텟이 바뀔 때 마다) 새로 해결한 퀘스트 수를 더하는 식으로 문제를 풀었는데 틀렸습니다. 저는 dp를 풀 때 현재값 + 재귀값으로 풀어왔는데 틀리니 이상합니다.48번 줄: ret = max(ret, nvisit + go(STR + i, INT + (PNT - i))); 선생님 풀이를 보고, 각 재귀 마다 현재 스텟에서 성공한 횟수를 반환하는 식으로 구현하니 맞게 나옵니다.47번 줄: ret = max(ret, go(STR + i, INT + (PNT - i))); 선생님 풀이와 로직은 동일한 것 같은데, 어떤 부분에서 틀렸는 지 모르겠습니다. 틀린 풀이https://www.acmicpc.net/source/share/9878747de0af458ca79dde4f3555903c맞는 풀이https://www.acmicpc.net/source/share/e7061d5e24564ad2a773395440381ecc 항상 강의 잘 듣고 있습니다.감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 38p char 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 38페이지의 "char 을 초기화할 때 주의할 점"에 대해 궁금합니다. 코드에서 char a = '\0' 와 char b = 0 라고 선언한 부분이 if(a==b) cout << 1 ; 에서 1이 출력됩니다.위 설명에선 char 변수를 초기화할 때 특정값으로 하거나, 널 문자를 사용하는 방법 두가지가 있다고 했는데b는 숫자 0을 대입한 것인지 아니면 "0"을 대입한 건지 헷갈립니다. 당연히 전자라고 생각했는데 if 문에서 둘이 동일하다고 해서 제가 놓친 부분이 있는지 궁금합니다. 만약 후자라면 숫자 0을 대입하는 방법이 궁금합니다감사합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 36p void 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.좋은 강의 감사합니다.교안 36p :void:리턴하는 값이 없다" 코드를#include <bits/stdc++.h>using namespace std;int ret = 1;void a() { ret =2; cout<<ret<<"\n"; return;}int main(){ a(); cout<<ret<<"\n"; return 0;} 로 수정했습니다. 마지막에 cout만 추가한 것 입니다.그러면 제 생각에는 값이 2 1 이 나와야합니다.int ret =1 이 main 함수 밖에서 선언된 전역변수이고 a()함수에서 ret = 2라고 했지만 아무것도 반환하지 않았고, a 함수 내에서만 ret =2 라는 값을 가질거라고 생각했습니다.하지만 디버깅 결과 2 2 가 나왔는데 왜인지 모르겠습니다ㅜㅠ
-
해결됨김영한의 실전 자바 - 중급 2편
다운캐스팅은 런타임오류??
Object를 활용시에 다운캐스팅 과정이 필요했는데요. (String) Object 10 이것은 컴파일오류로 인식하지 않는 이유가 약간 이해가 가지 않습니다. 어떤 객체든지 Object가 최상위 부모니까 String으로 갈 수 있는데 가보니까 10이어서 예외가 터지는 시나리오 같은데, 컴파일러는 이를 미리 판단할 정도는 되지 않나요?? 컴파일러는 "Object에서 String? -> ok 가능" 이정도만 판단해주는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
온라인 코딩 테스트는 오픈북인가요?
안녕하세요 알고리즘 강의를 예전에 구매를 했었는데, 코딩테스트를 준비해야 할 시기가 되어 이제서야 공부하려고 합니다.궁금한 것이 아직 제가 온라인 코딩 테스트에 대한 경험이 없는데,온라인 코딩 테스트는 검색이나, 자신이 예전에 짜놨던 코드, 아니면 기타 서적 같은 것을 참고해서 보는 것이 가능한가요?어떤 방향으로 코딩테스트를 준비해야 할 지 방향을 조금 더 확실히 잡고 싶어 질문 드립니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
화면이 안나와요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
스택의 POP코드 질문드립니다.
안녕하세요 오랜만에 질문드립니다.현재 가정을 헤드노드->Test03->Test02->Test01->테일노드 이렇게 있다고 가정을 했을 때pPop->pNext->pPrev = g_TailNode.pPrev; 이 코드에서 질문있습니다.제가 이해한것을 풀어쓰느라 조금 길거 같습니다.흐름상 pop 구조체 포인터가 Test03노드를 가리키고 있고 헤드의 다음노드를 Test02로 바꾸는것까지 이해했습니다. 그다음 pop 다음 노드의 이전 노드 즉 Test02의 이전 노드가 테일 노드의 이전 노드를 가리킨다고 하는데 현재 흐름 상 보면 Test03의 다음노드의 이전노드가 Test01노드라고 하는걸로 해석이 됩니다. 제가 어느 부분에서 이해를 못한 건지 모르겠습니다.그리고 다음 코드를 이렇게 고쳐도 출력에는 이상이 없는 것으로 확인됩니다.
-
미해결김영한의 실전 자바 - 중급 2편
HashSet 실제 구현
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]HashSet의 코드를 보니 HashMap을 사용하여 구현이 되어있는데 실제 구현도 결국에는 강의 내용처럼 배열안에 LinkedList 나 TreeSet으로 구현과 최적화가 되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B 보물섬 코드 질문입니다.
안녕하세요 큰돌님! 강의 잘보고 있습니다!보물섬 문제를 푸는데 궁금한 점이 있어서 질문드립니다.로직은 거의 동일하게 풀었습니다만, 문자가 다닥다닥붙어서 입력되는걸보고 scanf와 printf를 사용해보았는데 틀렸다고 나와서요.큰돌님이하신 방법대로 cin과 cout으로 교체해주었더니, 맞았다고 나왔지만 어느 부분이 다른 건지(혹은 틀린건지) 잘 모르겠습니다. ㅠㅠ아래 코드에서 주석 처리한 부분이 제가 처음에 작성했던 코드입니다.http://boj.kr/f3f04689b13c429d830e4dda8b3d9505답변 기다리겠습니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I 1620 맞왜틀입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.선생님 안녕하시렵니까!프론트라 js로 코드를 짜고 있는데 맞왜틀에서 못 벗어 나고 있어유 ㅠ 도와주세용http://boj.kr/41950771eb5a4d74a0c20ff66a460e46