
문제 원본을 어디에서 볼 수 있나요?
15시간 전
강의자료의 github는 풀이 java파일만 있는거같아서요.
최소갯수가 2 이상인 경우
13일 전
안녕하세요 강의 잘 보고 있습니다~
본 강의에서는 1개 제거되는 케이스라 j-for문이 잘 동작한다는 것을 알 수 있습니다. 그런데 최소 갯수가 2개 또는 그 이상인 케이스의 경우에 대해 질문 드리고 싶습니다.
제거하는 괄호가 인접해있는 경우 또는 떨어져 있는 경우로 생각해볼 수 있는데요.
올려주신 코드에서 이 부분에 대한 것은 어떻게 동작하게 되는지 궁금합니다.
감사합니다.
PriorityQueue 내림차순 정렬로 풀 경우
19일 전
안녕하세요 !
PrioryQueue 오름차순 정렬 하셔서 풀이 하셨는데,
오름차순이 아닌 내림차순으로 해서 PQ에 넣는 방법에 대해서는 어떻게 생각하시나요?
public int solve(int[] nums , int k) {
int answer = 0;
// priority queue 내림차순 정렬
PriorityQueue<Integer> pq = new PriorityQueue(Collections.reverseOrder());
// Priority Queue에 배열 원소들을 모두 넣는다.
for (int i = 0; i < nums.length; ++i) {
pq.offer(nums[i]);
}
// k개 꺼내서, 마지막으로 꺼낸 원소를 반환한다
while(k > 0) {
answer = pq.poll();
--k;
}
return answer;
}
우측, 위쪽 방향에만 조건을 걸어주는 이유
27일 전
왜 좌측방향 아래방향 갈때는 조건을 안걸어 주고, 우측방향 위쪽방향 갈때만 조건을 걸어주는건가요?
구체적으로 설명을 해주셨으면 합니다
valueStack, Math.max, 소스코드 문의 드립니다.
27일 전
안녕하세요 강의 잘 보고 있습니다~
1. valueStack
DFS 솔루션에서는 value값을 저장하는 스택을 따로 만드셨는데 저는 정수형 변수 하나로 풀어보니까 정답이 나오더라구요. value 값을 저장하는 스택을 따로 만드신 이유가 있는지 궁금합니다.
2. Math.max
Math.max를 이용하여 count의 최댓값을 리턴하게 되어있는데요. 논리적으로 생각해보고, 디버깅도 해봤는데 굳이 Math.max를 쓰지 않고 count값을 리턴해도 정답이 되는 것 같습니다. Math.max를 생략해도 무관하지 않을까요?
3. 소스코드
Depth of Binary Tree 문제 3가지 솔루션(재귀 호출, DFS, BFS)들이 깃허브에 없더라구요. 혹시 업데이트 해주실 수 있는지 궁금합니다.
감사합니다.
Runtime error(nullpointerexception) 문의 드립니다.
27일 전
안녕하세요 강의 잘 듣고 있습니다~
지난번 Binary Tree Level Order 문제와 마찬가지로, 릿코드에서 솔루션 제출 시에 Runtime error(nullpointerexception) 오류가 나오는데 왜 이러는 걸까요..?ㅜㅜ
감사합니다.
Runtime error 문의드립니다.
27일 전
안녕하세요 강의 잘 듣고 있습니다.
그런데 릿코드에서 디버깅해보니 정답처리는 되는데 제출하려고 하니 Runtime error가 나옵니다.
Nullpointerexception으로 나오는데, 이건 null값을 갖는 객체에 접근할 때 나오는 에러인 것 같은데 왜 이러한 에러가 뜨는지 잘 모르겠습니다..
감사합니다.
MeetingRoom2에 관해서
28일 전
질문이 있습니다.
1) 해당 문제에서 priorityQueue를 사용해서 푸신 이유가 궁금합니다.
2) 55번 줄
max = Math.max(max,minHeap.size())를 쓴 이유가 궁금합니다.
디버깅 문의드립니다.
1달 전
안녕하세요 강의 잘 보고 있습니다.
그런데 릿코드랑 이클립스에서 아래코드를 디버깅해봤는데, 릿코드에서는 정답이 나오는데 이클립스에서는 오답이 나옵니다.
코드에서 pop하는 연산이 없는 것 같은데 어떻게 정답처리(스택이 비게 되어 true리턴)가 되는지 궁금합니다.
감사합니다.
static Map<Character,Character> map = new HashMap<>();
static {
map.put('(', ')');
map.put('{', '}');
map.put('[', ']');
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//String s = "([}}])";
//String s = "([])";
String s = "()";
System.out.println(isValid(s));
}
public static boolean isValid(String s) {
if(s.length()%2 != 0) return false;
System.out.println(s);
Stack<Character> stack = new Stack<>();
for(int i=0; i<s.length();i++) {
char c = s.charAt(i);
if(map.containsKey(c)) {
stack.push(map.get(c));
} else if(map.containsValue(c)) {
if(stack.isEmpty() || stack.peek() != c ) {
return false;
} else if(!stack.isEmpty() || stack.pop() == c) {return false;}
}
}
return stack.isEmpty();
}
엣지케이스 질문드립니다.
1달 전
안녕하세요 강의 잘 보고 있습니다.
그런데 input이 "( [ } } ] )" 인 경우, 정답은 false인데 조건들을 만족해서 true를 리턴하며 오답이 됩니다. 일단 string길이가 짝수이고, }}를 만났을 땐 아무런 동작도 수행하지 않고, ']'와 ')'를 만났을 때 스택이 비게 되어 true를 리턴하게 됩니다. 이런 엣지케이스는 어떻게 처리하면 좋을까요?
감사합니다.
예외상황
1달 전
input으로 들어오는 스트링 값이
aabbccdd 와같이 이전 문자는 나오지 않는다는 조건이 있는건가요?
aabbaaabbbbbaa 와 같은 조건의 input이 입력 되었을때 원하는 결과 값이 나오지 않는데
위의 전제조건이 있는건지 궁금합니다.