게시글
질문&답변
노션 공유가 사라졌습니다.
안녕하세요. 확인해본 결과, 정상적으로 공유되어 있는 것으로 확인됩니다. 사용하시는 앱(혹은 브라우저)의 버그일 가능성이 매우 높습니다. 접근이 안된다면, 앱(혹은 브라우저)를 완전종료 후 실행해보시거나 로그아웃 후 진행해보시기 바랍니다. (페이지 접근이 안된다는 분들 대부분이 이 방법으로 해결을 하셨습니다.) 감사합니다.
- 0
- 2
- 19
질문&답변
2.구현능력 부분 짤린건가요
안녕하세요. 해당 부분은 현재 확인 중에 있으며, 확인이 끝난 후에 답변 드리도록 하겠습니다. 감사합니다.
- 1
- 2
- 27
질문&답변
그래프
안녕하세요, 김옥윤님. 1번 문제와 2번 문제는 비슷한 문제인 것처럼 보이지만 확실한 차이점이 있습니다.1번 문제는 땅덩어리가 총 몇개인지를 반환하는 문제이고, 2번 문제는 시작점(0,0)에서 도착점까지의 최단거리를 반환해야하는 문제입니다. 1번 문제에서는 땅덩어리가 몇개인지를 알아내기 위해서 2중 반복문으로 암시적 그래프를 순회하면서 땅(1)을 만나면 bfs(혹은 dfs)로 순회하면서 방문표시를 합니다. 방문표시를 하지 않는다면 2중 반복문에서 아직 방문하지 않은 새로운 땅으로 파악될 수 있습니다.만약, 2중 반복문을 쓰지 않는다면? 어디에 땅이 있는지 어떻게 파악할 수 있을까요? 필연적으로 2중 반복문을 사용할 수밖에 없습니다. 2번 문제의 경우에는 시작점(0,0)이 주어집니다. 따라서 그 지점에서 단순히 bfs를 통해서 도착점까지의 최단거리를 구하면 되는 문제입니다.만약, 이 문제에서 시작점이 어디인지 알려주지 않았다면(다만 시작점에는 표시를 해두었다면) 2중 반복문을 사용하여 시작점을 알아내야 했을 것입니다. 이 점에 유의하여 강의를 다시 시청해보시는 것을 권장 드립니다. 감사합니다.
- 0
- 2
- 43
질문&답변
노션 공유
안녕하세요, 황병일님. 해당 교재는 공유 드린 것으로 확인되고, 멤버십 요청과 교재 확인은 관련이 없습니다.초대된 워크스페이스로 접속을 하시면 교재를 바로 확인하실 수 있습니다. 해결이 되지 않는다면, 스샷과 함께 자세한 상황을 말씀해주시면 도와드리겠습니다. 감사합니다.
- 1
- 2
- 47
질문&답변
시간복잡도 질문
안녕하세요. 해당 강의를 원활하게 수강하시기 위해서는 기본적인 코딩에 대한 이해가 있어야 합니다. 따라서, 먼저 유튜브 혹은 인프런에서 ktkhestia7님께서 듣기에 적합하다고 판단되는 강의를 찾아서 수강하고 본 강의를 수강하시기 바랍니다. 감사합니다.
- 2
- 3
- 51
질문&답변
post 요청
안녕하세요. 웹 API에서 ‘리소스’는 URI로 식별되는 ‘데이터나 기능의 단위’입니다.예를 들어 /users는 사용자 목록 리소스, /articles/42는 ID=42 번 게시글 리소스, /login은 로그인 기능이라는 리소스죠.POST 요청은 일반적으로 ‘리소스에 새 데이터를 등록(create)’하는 데 쓰이지만, 실제로는 각 리소스가 가진 의미에 따라 ‘로그인 처리’, ‘검색 실행’, ‘결제 승인’ 같은 다양한 동작을 수행할 수도 있습니다.따라서 ‘POST를 받으면 반드시 리소스를 생성만 하는 게 아니라, 리소스마다 필요한 로직을 다르게 처리한다’고 이해하시면 됩니다
- 0
- 1
- 24
질문&답변
mutex, semaphore와 deadllock
안녕하세요. Mutex와 Semaphore는 Deadlock을 예방하기 위한 도구가 아니라, ‘동시 접근 제어’(상호 배제·접근 수 제한)를 위한 기본 락입니다.Deadlock(교착 상태)은 여러 스레드가 서로가 가진 자원을 기다리며 영원히 진행하지 못하는 상태를 의미합니다.뮤텍스·세마포어를 잘못 사용하면 Coffman 조건(상호 배제, 점유-대기, 비선점, 순환 대기)을 모두 만족하게 되어 오히려 Deadlock을 유발할 수 있습니다.예를 들어 스레드 A가 ‘락 X → 락 Y’, 스레드 B가 ‘락 Y → 락 X’ 순으로 잡으면 두 스레드가 서로를 기다리며 멈춥니다. 따라서 락을 사용할 때는 다음과 같은 규칙으로 Deadlock을 예방합니다. 전역 락 순서: 모든 자원을 낮은 번호 → 높은 번호 순으로 locktry-lock + 타임아웃: 일정 시간 내에 락을 못 얻으면 롤백 후 재시도임계 구역 최소화: 락 보유 시간을 가능한 짧게 이해가 잘 되었길 바랍니다.추가적인 궁금증이 있으시면 언제든 편하게 질문해 주세요!
- 0
- 3
- 36
질문&답변
노션 공유 부탁드립니다
안녕하세요. 금일 일정상 공유를 드리는 데 제한이 있었습니다. 18시까지는 최대한 공유를 드리도록 하겠습니다. 양해 부탁드립니다.
- 0
- 2
- 35
질문&답변
linkedList - BrowserHistory 코드 질문
안녕하세요, wan님. 맞습니다. BrowserHistory에서 visit 메서드는 속성인 current를 사용하여 O(1)의 시간복잡도로 현재 노드에 바로 접근하고 다음 노드를 추가합니다. (back과 forward 메서드에서 current 값을 조정합니다) 만약 current 속성을 할당하지 않았다면 index 값을 속성을 할당한 후 접근을 해야하기 때문에 O(n)의 시간복잡도가 될 수 있습니다. 이해가 안되는 부분이 있다면 언제든 질문 주시기 바랍니다.감사합니다.
- 0
- 1
- 31
질문&답변
list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?
안녕하세요, 나상민님문제의 핵심은 얕은 복사와 참조의 차이입니다.• result.append(curr)를 사용하면, curr 리스트의 참조를 결과 리스트에 저장합니다.따라서, 백트래킹 과정에서 curr의 내용이 바뀔 때마다 이미 추가된 모든 항목도 같이 변합니다.• 반면에, result.append(curr[:])는 curr의 얕은 복사본을 만들어 저장합니다.이렇게 하면 그 시점의 curr 값이 보존되어, 이후에 curr가 변경되더라도 복사본은 그대로 유지됩니다.main 함수에서 test2와 test2[:]를 비교했을 때는, 둘 다 한 번만 추가되기 때문에 출력 결과가 같지만, 백트래킹처럼 curr을 여러 번 수정하는 경우에는 복사본을 만들어 저장해야 올바른 결과를 얻을 수 있습니다. test1에 추가를 다 하신 후에 test2 배열의 원소를 수정한 후 test1을 출력하면 차이점을 이해하시게 될 겁니다. 즉, 백트래킹에서는 재귀 호출 후 curr.pop()으로 원소를 제거하면서 curr의 상태가 계속 바뀌므로, 현재 상태를 보존하려면 반드시 복사본(curr[:])을 추가해야 합니다.
- 1
- 1
- 113