inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

class LinkedList

해결됨

코딩테스트 [ ALL IN ONE ]

안녕하세요! 좋은 컨텐츠 감사합니다. [질문] 14:15에 등장하는 class LinkedList가 왜 object를 상속하나요? 없어도 되지 않을까 하는데, 무슨 이유가 있는 것인지 궁금합니다. class Node는 상속없이 작성되었기에, 그 차이가 더욱 궁금합니다. 감사합니다.

  • python
  • 코딩-테스트
  • 알고리즘
OR 댓글 1 좋아요 0 조회수 423

미로찾기 문제에 VISIT의 쓰임

해결됨

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

이해하는데 시간이 좀 걸려서, 다른 분들도 고민하실까봐 글 남겨요 public static int VISIT = 2; 미로찾기 문제에서 나오는 상수 VISIT 의 쓰임새는 탐색한 모든 위치를 VISIT 주는 것이 아니라, 정답의 길만 VISIT을 주고있어요 따라서 그 위쪽 로직에서 newPosition.direction = direction +1; 을 주는 겁니다. NOTVISIT 이여도 이미 갔던 path를 다시 안가기 위해서요

  • java
  • 객체지향
  • 알고리즘
choiDev 댓글 2 좋아요 1 조회수 522

교재 227p 백준 1016번 질문드립니다.

해결됨

Do it! 알고리즘 코딩테스트 with JAVA

저자 선생님 안녕하세요 좋은 교재와 강의 잘 보고 있습니다. 강의가 없는 1016번 문제에 대해 오래동안 고민을 해도 해결이 안되어 질문을 드리고 싶은데, 받아주시면 정말 감사하겠습니다. 시간초과가 난 전체 코드입니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); StringTokenizer st = new StringTokenizer(br.readLine()," "); long min = Long.parseLong(st.nextToken()); long max = Long.parseLong(st.nextToken()); // 최댓값과 최솟값의 차이만큼 배열 선언하기 boolean[] Check = new boolean[(int)(max-min+1)]; // 2의 제곱수인 4부터 Max보다 작거나 같은 값까지 반복하기 /* 저자님 코드(정답) for(long i=2; i*i<=max; i++){ long pow = i*i; //제곱수 long start_index = min/pow;//최솟값/제곱수 if(min%pow!=0){ start_index++; } for(long j = start_index; pow*j <=max; j++){//제곱수를 true로 변경하기 Check[(int)((j*pow)-min)] = true; } } */ //제 코드(시간초과) for(long i=2; i*i<=max; i++){ long pow = i*i;//제곱수 for(long j=1; (j*pow)<=max; j++){ long t= j*pow;//제곱수의 배수 if((min<=t) && (t<=max)){//제곱수의 배수가 min과 max 범위 안이면 Check[(int)(t-min)] = true; //제곱수의 배수 표시 } } } // long count = 0; for(long i = 0; i<=max-min; i++){ if(!Check[(int)i]){ count++; } } System.out.println(count); } } 위의 전체 코드에서 저자 선생님 코드를 주석 /* */ 로 감싸고 제 코드를 바로 아래에 작성했는데, 보시기 힘들 것 같아서 보라색과 초록색으로 구분한 스크린샷을 같이 올려드립니다. 제 코드의 경우, 백준 문제에서 보여준 테스트케이스는 통과하는데 시간초과가 발생했습니다. 그래서 많은 테스트케이스를 시도해봤는데 입력 1000000000000 1000001000000 이 테스트케이스에서 저자 선생님 코드는 제대로 작동을 하고, 제 코드는 시간초과가 발생하는 것 같았습니다. 하루종일 고민해도 그 이유가 도저히 이해가 안돼서, 질문을 드리고 싶습니다. 가르쳐주시면 정말 감사하겠습니다. 읽어주셔서 감사합니다. +오후 8시에 질문을 추가드립니다. 시간초과가 안나는 핵심 로직이 long start_index = min/pow;//최솟값/제곱수 if(min%pow!=0){ start_index++; } 같은데 이 부분이 이해가 너무 어렵습니다.. 이 코드를 더 자세하게 가르쳐주시면 감사하겠습니다.

  • java
  • 코딩-테스트
  • 알고리즘
Like me black 댓글 1 좋아요 1 조회수 371

대기업 합격 수준

해결됨

코딩테스트 [ ALL IN ONE ]

안녕하세요, 전 노씨님의 모든 커리큘럼을 구매해서 공부하고 있습니다. 특히 기술면접!!에 많은 도움을 받고 그때부턴 선생님을 믿고 다 지르고/지를예정인데요. 다른건 준비를 하고 있거나, 어느정도 해야 통과하겠구나 감이 있는 상태라서 괜찮은데 네카라기준 [포트폴리오]는 어느정도로 준비를 해야하는지 감이 잘 오지 않습니다. 혹시 선생님께서는 포트폴리오를 어떻게 준비하셨는지, 기술이나 포폴 갯수가 중요하지 않다는 것까진 알고 있지만 그럼 어느 정도의 수준(?)까지 생각해서 구현해야하는지 알고 싶습니다. + 면접 수준 ps. 어디에 질문을 해야할지 몰라서 최근 수강하고 있는 강의에 글 남기게 되었습니다. 코테도 열심히 준비해 보겠습니다. 감사합니다.

  • python
  • 코딩-테스트
  • 알고리즘
루돌프친구 댓글 1 좋아요 2 조회수 619

LIFO 2번째 문제의 시간복잡도

미해결

코딩테스트 [ ALL IN ONE ]

좋은 강의 감사합니다. LIFO 2번째 문제는 for문 안에 while문이 들어가 있기 때문에 시간복잡도가 O(n^2)인 것 같다는 생각이 드는데요. 전체 시간복잡도가 왜 O(n)인지 설명을 부탁드립니다.

  • python
  • 코딩-테스트
  • 알고리즘
  • lifo
  • 시간복잡도
tseqnu U 댓글 2 좋아요 5 조회수 958

집합 표현하기(백준 1717) union 함수 질문

해결됨

Do it! 알고리즘 코딩테스트 with JAVA

안녕하세요 강의 잘 보고 있습니다. 강의를 보다가 질문이 생겨 질문드립니다. 강의 영상에서 union 함수에서 a,b의 크기와 상관없이 a와 b가 다르다면 parent[b] = a; 라고하시는데 이렇게 해도 되는 이유가 어차피 나중에 find 함수의 재귀함수부분 return parent[a] = find(parent[a]); 에서 경로 압축이 되기 때문에 크기 상관없이 parent[b] = a; 선언 해주신 건가요?

  • java
  • 코딩-테스트
  • 알고리즘
이창협 댓글 1 좋아요 1 조회수 394

코테 준비기간은 얼마로 잡으면 좋을까요?

해결됨

코딩테스트 [ ALL IN ONE ]

4개월정도 잡고 하려는 데 충분한 시간일까요? 아니면 더 투자 해야 하나요?

  • python
  • 코딩-테스트
  • 알고리즘
이지훈 댓글 2 좋아요 0 조회수 5525

교재는 어디서 받을 수 있나요?

해결됨

코딩테스트 [ ALL IN ONE ]

수강생 추가 혜택! 교재 제공(출판 전까지만) 그 notion 초대 구글폼 제출했는데 거기에 적은 이메일로 보내주시나요!?

  • python
  • 코딩-테스트
  • 알고리즘
찬비 댓글 2 좋아요 1 조회수 418

강의에 바라는 점입니다!

해결됨

코딩테스트 [ ALL IN ONE ]

안녕하세요, 좋은 강의 제공해주셔서 덕분에 잘 듣고있습니다. 강의를 들으면서 몇가지 개선되었으면 하는 점이 있어서 글을 남겨봅니다. 참고로, 저는 다른 코딩테스트 강의는 들어보지 않았고 지극히 주관적인 견해입니다! 집어주신 코드는 아예 템플릿처럼 암기하라고 하셨는데, 암기할 수 있도록 예제를 Notion에 정리해서 공유해주셨으면 이해하기가 더 쉬웠을 것 같습니다.(저는 별도로 정리를 하고 있습니다.) 코드가 수업중간에 수정되는 경우도 있고 코드가 풀로 적혀있지 않은 경우도 있어서, 템플릿처럼 암기를 하기 위해서는 정리되어있는 자료(예시 input값을 포함한 전체 코드)가 있었으면 좋겠다고 생각했습니다. 예를 들어 Tree 자료구조를 설명하실 때는 return의 속성과 같은 부분에 대해 연결지어서 설명해주셨으면 더 좋았을 것 같습니다. class가 나오는 경우에는 왜 여기에는 값을 미리 부여했고 이 케이스에는 미리 값을 주지 않았는지 등등 부연설명을 더 해주시면 좋을 것 같습니다. 인터넷 강의 특성 상 커뮤니티 게시판에 feedback을 신경 써주시면 좋을 것 같습니다. 좋은 강의 저렴하게 제공해주셔서 감사합니다! 부족하지만 열심히 따라가고 있습니다. 강의를 듣는동안에는 따로 문제를 풀지 않고 쭉 들어보고 있습니다. 강의에 나온 코드를 완벽히 외우고 백준 문제들을 자료구조나 알고리즘당 5~10문제를 풀어보려고 하는데 괜찮은 공부방법인지 문의드립니다. 감사합니다.

  • python
  • 코딩-테스트
  • 알고리즘
개발쨩 댓글 1 좋아요 7 조회수 818

입출력 스트림 질문입니다.

미해결

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

안녕하세요. FileOutputStream 객체 생성시 질문이 있어서 글 남깁니다. FileOutputStream fos = new FileOutputStream("output.txt"); 이후 try() resource 구문을 쓰는 건 문제가 되지 않는데 처음에 변수 초기화를 시켜주지 않고 FileOutputStream fos = null; fos = new FileOutputStream("output.txt"); 위와 같이 작성 후 try resource 구문을 작성하면 에러가 나네요. 해당 원인이 무엇인지 궁금합니다. 감사합니다.

  • java
  • 객체지향
  • 알고리즘
인프린 댓글 1 좋아요 0 조회수 294

트리에 관해 질문 있습니다

해결됨

코딩테스트 [ ALL IN ONE ]

해당 코드에서 LCA에 첫번째 인자값에 배열을 넣어주는데 LCA의 함수에서 root는 left와 right를 가지고 있습니다. 무엇인가요...

  • python
  • 코딩-테스트
  • 알고리즘
유제환 댓글 1 좋아요 1 조회수 509

Two sum 딕셔너리(중복원소 x)

해결됨

코딩테스트 [ ALL IN ONE ]

수업에서 같은 원소를 두 번 사용할 수 없다는 스스로 구현해보라고 하셔서 초보지만 코드를 작성해 봤습니다. 이렇게 해도 되는 걸까요? 전 강의 온도 문제에서 enumerate 쓰신거 보고 여기에 적용해 봤습니다. def two_Sum(nums, target): memo = {} for i, v in enumerate(nums): memo[v] = i # index 저장 for i, v in enumerate(nums): find_number = target - v if find_number in memo and memo[find_number] != i: # 첫번째 for에서 저장한 index랑 i 비교해서 같지 않아야 true return True return False two_Sum(nums=[4,1,9,7,8,2], target=14)

  • python
  • 코딩-테스트
  • 알고리즘
Mook 댓글 1 좋아요 1 조회수 393

Red-Black 트리 - 개념(제거) 질문드립니다.

해결됨

그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)

이미지에서 보면 레드노드가 제거되고나서 블랙노드만 남은 상황입니다. 영상을 보면 레드노드가 제거되어서 레드블랙 규칙을 어기지 않는다고 표현을 하는데요. 이미지를 봤을 때, 5에서 시작해서 NIL 노드까지 가는 구간에 높이가 제 생각에는 다르다는 생각이 들어서 질문드립니다. 5-3-NIL 5-7-NIL 5-7-10-NIL 이렇게 NIL노드로 간다고 가정하면 5-7-10-NIL 노드경로만 길이가 다르다고 생각하는데 규칙이 깨진것 아닌가요? 이해가 잘 안되어요 ㅠ

  • 알고리즘
황유정 댓글 1 좋아요 1 조회수 518

ABS 추상 클래스 강의 관련 문의드립니다.

미해결

실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지

강의 시간 약 5분 경 def calculate_total(items:List[Item]) -> float: 에서 에로우 연산이 의미하는 것이 무엇인가요? 추상 클래스를 사용하는 이유에 대하여 더 구체적으로 설명해주실 수 있나요? (실제 인더스트리에서 어떻게 사용이 되는지 등과 같은..)

  • python
  • 알고리즘
jaywon 댓글 1 좋아요 1 조회수 408

이진 탐색 트리 - 제거 구현 질문드립니다.

해결됨

그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)

자식 노드가 모두 존재하는 경우에 제거하는 경우의 수 중에서 제일 마지막 fakeParentRootNode 를 처리하는 부분에서 질문이 있습니다. 제거를 할 때 값을 변경하는 방식으로 진행하다보니 루트노드가 제거가 된다고 하더라도 fakeParentRootNode의 오른쪽 자식노드는 계속해서 root 노드의 주소값을 바라보고 있을 것이고, 변경사항이 없을텐데 해당 코드를 넣는 이유가 있을까요? if (fakeParentRootNode.getRightSubTree() !== this.root) { this.root = fakeParentRootNode.getRightSubTree(); }

  • 알고리즘
황유정 댓글 1 좋아요 1 조회수 446

알고리즘 코딩테스트 문제풀이 강의 - 14 절댓값 힙 구현하기 (백준 11286)

해결됨

Do it! 알고리즘 코딩테스트 with C++

C++ 책보고 풀어보고 있는데 이해가 안가는 부분이 있습니다. struct compare { bool operator()(int o1, int o2) { int first_abs = abs(o1); int second_abs = abs(o2); if (first_abs == second_abs) { return o1 > o2; } else { return first_abs > second_abs; } } }; return o1 > o2; 이 부분에서 현재 입력값이 1,-1,0 이렇게 들어오면 o1 = 1, o2 = -1이 들어와서 비교를 하여 1 > -1 되는거 아닌가요? 그럼 양수가 정렬이 되는데 어떻게 이해를 해야하는지 모르겠습니다. 우선순위 큐에 관해서 Compare에 찾아보니 작은 수를 반환한다고 하는데 왜 그런지 이해가 안가네요... 확인부탁드립니다. 마찬가지로 return first_abs > second_abs; 이 부분도 설명 부탁드립니다.

  • c++
  • 코딩-테스트
  • 알고리즘
김태현 댓글 1 좋아요 0 조회수 579

not stack , stack 질문

해결됨

코딩테스트 [ ALL IN ONE ]

스택 문제풀이에서 return not stack 이나 while stack and stack[-1][1] 는 무엇을 의미하나요? 1. while stack and stack[-1][1] < temp : 2. while temp > stack and stack[-1][1] : 1번과 2번 코드가 왜 다르게 작동할까요?? 감사합니다!

  • python
  • 코딩-테스트
  • 알고리즘
소소박 댓글 1 좋아요 1 조회수 741

VSCode로 확인

해결됨

코딩테스트 [ ALL IN ONE ]

선생님 코드를 보고 이해하고 VSCode로 input을 통해서 확인해보고 싶은데 아직 초보라 잘 모르겠는 점이 있습니다. 이렇게 찍어보면 NameError: name 'dailyTemperatures' is not defined 라고 뜨는데 직접 input을 넣고 output을 확인하려면 어떻게 코드를 작성해야할까요? class Solution(object): def dailyTemperatures(self, temperatures): answer = [0]*len(temperatures) stack =[] for day, tmp in enumerate(temperatures): while stack and stack[-1][1] < tmp: prev_day, _ = stack.pop() answer[prev_day] = day - prev_day # stack이 비어있으면 while문 안타고 바로 append stack.append((day, tmp)) return answer print(dailyTemperatures([73,74,75,71,69,72,76,73]))

  • python
  • 코딩-테스트
  • 알고리즘
루돌프친구 댓글 1 좋아요 1 조회수 415

인기 태그

인프런 TOP Writers

주간 인기글