정말 쉽게 풀어보는  코딩 테스트 top 기본 문제 (with 자바)

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

(9개의 수강평)

356명의 수강생
Java알고리즘
33,000원 44,000원
(25% 할인, 9시간 남음)
지식공유자 · 푸샵맨 코딩스터디
46회 수업· 총 11시간 53분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 중급이상
지식공유자의 다른 강의
연관 로드맵
연관 로드맵이 없어요.
서명석 프로필

Compartor 서명석 3일 전
Meeting 룸에서  compare 메서드의 o1.start - o2.start를 했는데 배열 정렬시 기준으로 삼을 return 값을 어떻게 해서 o1.start - o2.start 는 오름차순이고 o2.start - o1.start는 내림차순이 되는건지 잘 모르겠습니다

1
정기혁 프로필

Longest Substring with At Most Two Distinct Characters 문제 질문드립니다! 정기혁 19일 전
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.  안녕하세요. 강의를 시청하던 도중에 궁금한점이 있어서 질문글을 남기게 되었습니다. StringArray 12번문제  Longest Substring with At Most Two Distinct Characters 에서 주어진 예제가 eceba 과 ccaabbb 인데, 강사님께서 풀이해주신 코드로 subString(start,end) 로 print 해보면 첫번째예제인 eceba의 답이 ece가 나와야하는데 ba가 출력됩니다.  답은 문자열의 길이만 리턴하면 되는거라 상관없는데 혹시 제가 문제를 잘못이해하고 있는게 아닌가 해서 질문드립니다.  

1
koun2 프로필

Graph(dfs&bfs) Max Of Islands koun2 23일 전
안녕하세요, Graph의 Max Of Island 문제가 pdf 에는 Maximum Depth of binaryTree 로 나와있어서 문의 드립니다! 문제 없이 바로 해설을 보니 이해가 잘 가지 않아서요, Max Of Islands 에 해당하는 문제 내용 부탁 드립니다!

1
wjsehgus1014 프로필

Unique path wjsehgus1014 1달 전
마지막 return 이 왜 map[m-1][n-1]인지 모르겠습니다. 과정 중에서  int[][] map = new int[m][m]; for (int i = 0; i < m; i++) { map[i][0] = 1; } for (int i = 0; i < n; i++) { map[0][i] = 1; } // 2 for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { map[i][j] = map[i - 1][j] + map[i][j - 1]; } } 이과정은 이해가 되는데 마지막에 map[3][2] 를 구한다햇을때  return map[2][1]; 을 리턴하게되면 답이안나올거같은데....

1
wjsehgus1014 프로필

디버깅하는법 wjsehgus1014 1달 전
한줄씩 디버깅할때 무슨단축키 누르고 바로 진행하세요??

1
wjsehgus1014 프로필

MaximumDepthOfTree 문제 질문 wjsehgus1014 1달 전
제가 ====로 구분지어서 로직을 이해하려고 하는데 재귀함수에 대한 개념이 부족한지 어떤식으로 작동되는지 궁금합니다.. ,,

1
wjsehgus1014 프로필

NumberOfIsland_Bfs wjsehgus1014 1달 전
bfs 풀이법에서  //package Graph_DFS_BFS; // //import java.util.LinkedList; //import java.util.Queue; // ////dfs 스택 bfs 바베큐 -> 큐  //public class NumberOfIsland_BFS { // public static void main(String[] args) { // // char[][] grid = { { '1', '1', '0', '0', '1' }, { '1', '1', '0', '0', '0' }, { '0', '0', '0', '0', '0' }, // { '0', '0', '0', '1', '1' } }; // // NumberOfIsland_BFS a = new NumberOfIsland_BFS(); // System.out.println(a.numberOfIsland(grid)); // // } // // int numberOfIsland(char[][] grid) { // if (grid == null || grid.length == 0) // return 0; // int count = 0; // // for (int i = 0; i < grid.length; i++) { // for (int j = 0; j < grid[0].length; j++) { // if (grid[i][j] == '1') { // count++; // bfs(grid, i, j); // } // } // } // // return count; // } // // // 사방으로 체크하기위한 좌표값 만듬 // int[][] dirs = { { -1, 0 }, { 1, 0 }, { 0, 1 }, { 0, -1 } }; // // public void bfs(char[][] grid, int x, int y) { // Queue<int[]> queue = new LinkedList<int[]>(); // queue.offer(new int[] { x, y }); // 지금 0,0을 넣은거임 // while (!queue.isEmpty()) { // int size = queue.size(); // int[] point = queue.poll(); // for (int i = 0; i < size; i++) { // for (int[] dir : dirs) { // int x1 = point[0] + dir[0]; // int y1 = point[1] + dir[1]; // if (x1 >= 0 && y1 >= 0 && x1 < grid.length && y1 < grid[0].length && grid[x1][y1] == '1') { // grid[x1][y1] = '0'; // queue.offer(new int[] { x1, y1 }); // } // } // } // } // // } // //} 마지막에  for (int i = 0; i < size; i++) { // for (int[] dir : dirs) { // int x1 = point[0] + dir[0]; // int y1 = point[1] + dir[1]; // if (x1 >= 0 && y1 >= 0 && x1 < grid.length && y1 < grid[0].length && grid[x1][y1] == '1') { // grid[x1][y1] = '0'; // queue.offer(new int[] { x1, y1 }); // } 이부분의 동작원리와 코딩이 이해가안됩니다 ㅠㅠ 어떻게 훑고 가는거지..

1
wjsehgus1014 프로필

NumberOfIsland_ DFS wjsehgus1014 1달 전
void merge(char[][] grid, int i, int j) { // System.out.println("==merge=====  i: " + i + " y: " + j); // if (i < 0 || i >= m || j < 0 || j >= n || grid[i][j] != '1') // return; // grid[i][j] = 'X'; // for(int[] dir: dirs) { // merge(grid, i+dir[0], j+dir[1]); // } // // merge(grid, i - 1, j); // merge(grid, i + 1, j); // merge(grid, i, j + 1); // merge(grid, i, j - 1); // } NumberOfIsland_ DFS문제에서  이부분이 이해가안됩니다 특히 merge(grid,i+dir[0],dir[1]+j) 가 여러방향 훑는거라는 느낌은 들었는데 왜 인덱스 0과 1인지 과정이 궁금해서 질문남깁니다!

1
wjsehgus1014 프로필

valid_Parentheses문제 질문 wjsehgus1014 1달 전
package Queue_Stack; import java.util.Stack; public class Valid_Parentheses { public static void main(String[] args) { String s = "{[]}"; // String exp2 = "({)}"; System.out.println(isValid(s)); } public static boolean isValid(String s) { // 1. 에러체크 if (s.length() % 2 != 0) return false; Stack<Character> stack = new Stack<Character>(); // 2. for (int i = 0; i < s.length(); i++) { switch (s.charAt(i)) { case ')': if (!stack.empty() && stack.peek() == '(') stack.pop(); break; case '}': if (!stack.empty() && stack.peek() == '{') stack.pop(); break; case ']': if (!stack.empty() && stack.peek() == ']') stack.pop(); break; default: stack.push(s.charAt(i)); break; } } return stack.empty(); } } 이결과가 계속 false로 나옵니다... 이유를 못찾겠네요 ㅠㅠ 그리고 isEmpty와 empty 메소드의 차이가 있을까요?

1
wjsehgus1014 프로필

LongestSubString 문제 질문 ! wjsehgus1014 1달 전
Map<Character, Integer> map = new HashMap<Character, Integer>(); while (end < s.length()) { char endChar = s.charAt(end); map.put(endChar, map.getOrDefault(endChar, 0) + 1); if (map.get(endChar) == 1) { counter++; } end++; while (counter > 2) { char startChar = s.charAt(start); map.put(startChar, map.get(startChar)-1); } } 여기 부분이 잘 이해가 가지않습니다. getOrDefault메서드를 처음봐서 예제와 검색을 통해 익혀보려했는데 이해가 되지않네요 ㅠ ㅠ 모호한 질문입니다만... map을 사용하신 생각의 근거? 도 궁금하고  map.put(endChar, map.getOrDefault(endChar, 0) + 1); 이부분을 한국말로 말하실때와 map.put(startChar, map.get(startChar)-1); 이부분이 궁금합니다 강의를 몇번 돌려봤지만 제 지식의 수준으로  잘 안되네요 감사하고 죄송합니다!!

1
wjsehgus1014 프로필

판단의 근거 wjsehgus1014 1달 전
안녕하세요 저번 질문 답변이 너무 도움되서 먼저 감사인사드립니다.  다름이아니라 제가 취준생에 전공생인데도 알고리즘을 잘 공부하지않아서 매우 심각한데..  이 문제에선 ArrayList를 사용하시고 meetingroom1 에서는 배열을 사용하셨는데 혹시 판단의 근거가 어떻게 되나요? 경험과느낌인가요 ㅠㅠ 맘은 급한데 공부법을 잘 몰라 힘드네요   + Collections.sort(intervals,Comp); 일때는 에러가 안나는데  Arrays.sort(intervals,Comp); 에서 sort에 에러가 나는이유가 뭘까요? 저는 Comparator 구현으로 하는게 편해서 하는데 에러가 나네요 람다표현은 아직 숙지가안되서 해야할것같습니다.. + Queue<Interval> heap = new PriorityQueue<Interval>(intervals.length, Comp2); 이 선언과 생성문장을 한국말로 풀어서 말한다면 어떻게 말씀하시는지 궁금합니다...  마지막으로.. Comp2에 대한 Comparator 구현할때 return값을 왜 o1.end- o2.end  (끝나는시간의 오름차순으로) 했는지 다시한번만 말씀해주시면 정말 감사합니다 질문이 많았네요 ㅠㅠ 천천히 답변주셔두됩니다 감사합니다.

2
wjsehgus1014 프로필

수강전에 wjsehgus1014 2달 전
문제를 혼자 풀어보거나 읽어볼순 없나여? 어떤방식으로 수강을 하면 효율적인지 궁금합니다 깃엔 풀코드가 있어서..

1
판타지라이프 프로필

혹시 위상정렬(Topological Sort)에 대해서 업데이트 가능 하실까요? 판타지라이프 3달 전
안녕하세요. 좋은 강의 잘 보고 있습니다. 제가 아직 강의를 다 본건아닌데 일단 제목으로 봤을 때  위상정렬에 대해서는 안보입니다. 제가 못찾았을 수도 있는데요. 요즘 위상정렬 관련해서 코테에 자주 보여서요 혹시 이부분업데이트가 가능하신지 궁금합니다. - 감사합니다.

2
또다시백수 프로필

Queue 의 구현체를 LinkedList 로 사용하시는 이유가 따로 있나요? 또다시백수 3달 전
안녕하세요. 선생님 강의에서 큐 관련 문제를 풀때마다 의문이 드는게 있었습니다. Queue 의 구현체가 여럿 있는 걸로 알고 있습니다. PriorityQueue 는 꺼내는 순서를 정하고 싶을때 사용하는 것 같은데 LinkedList 는 어떤 용도로 사용하나요?

1
tkdrn34282 프로필

문제들 출처가 궁금합니다 tkdrn34282 3달 전
혹시 문제들 출처가 어딘지좀 가르쳐 주실 수 있나요 !?!

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스