안녕하세요 ㅎㅎ 만약 중복을 허용한다고 가정한다면, 해당 문제 숫자 개수 범위가 최대 15,000이어서 조합이나 이중 for문으로는 시간 초과가 있을 수 있다고 생각했습니다. -> 네 맞습니다. 해당 부분 수정하겠습니다. :) 틀린 부분을 찾아주셔서 감사합니다. +중복되는 부분이 없지만 저 카운팅배열을 사용한것은 1 또는 0인 배열을 기반으로 set 처럼 쓰신거죠? ㅎㅎ 잘하셨습니다.
안녕하세요 ㅎㅎ 지금 3주차까지 푸신거 같은데요. 저는 이 단계가 알고리즘 개념이 아직 익숙하지 않아. 문제를 풀 때 고민을 많이 하는 단계라고 생각합니다. 알고리즘 실력이 없어서 그런거는 아니구요. 예를 들어 저희가 BFS 알고리즘을 짠다 라고 했을 때 while q.push.. 이런것들은 자동적으로 나와야 합니다. 하지만 아직 그런 단계가 아니니 거기서부터 병목이 생기고 거기서부터 문제 푸는 시간이 많이 발생하는 셈이 됩니다. 문제 단계에 따라 다음과 같이 고민하시면 됩니다. 1. 고민 : (브론즈, 실버 : 30분 ~ 1시간) / 골드 : 1시간 ~ 2시간 / 플래티넘 : 2시간 이상 2. 문제풀기 -> 해설강의 및 해설코드와 자신의 코드 비교 하며 공부 3. 만약 틀릴 경우 -> 틀린문제 다시 풀기 -> 이후 1, 3, 7, 21일 이후마다 다시 풀기(이 문제를 처음 봤을 때 30분이내에 풀 수 있다면 다시 안풀어도 됨.) wip : 백준 레벨 라벨링이 사라져서 해당부분은 코살에 보강좀 해야겠네요 ㅠ 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
안녕하세요 한성현님 ㅎㅎ 처음에 DP[0]이면 0을 만들 수 있는 방법이라고 하셨을 때 1로만 한다면 아무것도 안 더하면 1개의 경우가 생깁니다. 그러면 2로 한다고 했을 때도 아무것도 안 더해서 1가지 경우가 추가가 되니 2가 되는게 아닌가요? -> 0을 만드는 경우의 수는 "아무것도 더하지 않는 경우의 수 한가지"밖에 없습니다. 물론 1이나 2를 추가하지 않는 경우의 수라고 분리할 수 있지만 사실 그렇게 셈을 하지는 않습니다. 예를 들어 잔고가 0원을 만든다라고 했을 때 -10 + 10 이렇게도 가능하지만 +만 가능하다면 +0을 해야 0원이 된다고 생각하시면 됩니다. 또한, 2를 통하여 1을 만드는 방법은 없으니 이전의 방법이 그대로 오고 2를 만드는 경우는 이전에 1을 통하여 1개가 있으니 2만 더하여 있는 경우 1개를 더하여 2가지인건 알겠는데 3의 경우 2+1 이 어디서 나온건지 모르겠습니다. -> 혹시 이거 강의 몇분 부분인지 알 수 있을까요? 감사합니다.
안녕하세요 ㅎㅎ 결론부터 말씀드리면 지금처럼 2일 동안 한 문제를 붙잡는 방식은 초반에는 도움이 될 수 있지만, 장기적으로는 효율이 많이 떨어집니다. -> 이게... 2일마다 1문제가 아니라 2일동안 문제를 끌면 문제에요. 이렇게 하는게 좋습니다. 아직 2주차니까.. 30분 정도 고민했는데 접근 자체가 안 떠오른다 → 해설 확인 접근은 떠올랐는데 구현이 안 된다 → 30~60분 정도 더 시도 그래도 안 되면 해설 확인 실제 코딩테스트 문제는 지금 배우는 BFS, DFS를 더 어렵게 꼬아서 내는 것이 아니라, 결국 BFS, DFS를 여러 번 활용하도록 만드는 경우가 대부분입니다. 예를 들어 BFS + 방문처리 DFS + 백트래킹 BFS 2번 BFS + 시뮬레이션 이런 형태로 나오는 경우가 많습니다. 그리고 지금은 기초를 쌓는 단계여서 혼자 고민하는 것보다는 "알고리즘 개념"을 잘 이해, 숙지하고 적용하는게 중요한 시기라서 더더욱 제한시간내 고민하는게 더 중요할 거 같아요. 계속 꾸준히 하시다보면 2주차에서 이해되기 시작한 BFS, DFS가 4~5주차쯤 되면 거의 반사적으로 떠오르는 순간이 올 것입니다. 화이팅입니다. 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.