안녕하세요. 코테의 바이블 수강생입니다. 교재로 공부하던 중 강의를 함께 수강하면 학습에 더 도움이 될 것 같아 코테올인원 JAVA 강의를 수강하려고 합니다. 노션 교재에 안내된 코테올인원 JAVA 16,500원 쿠폰을 사용하려고 눌렀는데, ‘사용 기한이 지나 쿠폰을 등록할 수 없습니다.’라는 문구가 뜨면서 등록이 되지 않습니다. 혹시 해당 쿠폰은 현재 더 이상 발급받거나 사용할 수 없는 쿠폰인지 궁금합니다. 가능하다면 쿠폰을 다시 발급받을 수 있는 방법이 있는지도 확인 부탁드립니다. 감사합니다.
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 어떤 알고리즘을 학습하고 계신가요? 여기까지 이해하신 내용은 무엇인가요? 16강 2-2 어레이와 링크드 리스트 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 강의에서는 링크드리스트의 중간 삽입/삭제시 시간복잡도가 O(1) 이라고 설명해주신 부분이 이해가 안돼서 질문 드립니다! 예를들어 특정 index에 값을 노드를 추가한다 라고 한다면, 제 생각에는 해당 index-1번째에 해당하는 노드를 찾기 위해 처음부터 노드를 타고 들어가야 하므로 탐색 비용 때문에 O(n) 이 되어야 할 것 같다는 생각이 들어서요! 강의 너무 잘 듣고 있습니다. 감사합니다! 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
안녕하세요. 재귀함수로 팰린드롬을 구현하는 부분을 공부하고 있습니다. 예제 코드를 보다가 한 가지 궁금한 점이 생겼습니다. def is_palindrome(string): if string[0] != string[-1]: return False if len(string) <= 1: return True return is_palindrome(string[1:-1]) 이 경우 빈 문자열 "" 이 들어오면 string[0] 에서 IndexError 가 발생할 수 있을 것 같은데, 아래처럼 종료 조건을 먼저 작성하는 것이 더 안전한 방식이 맞을까요? def is_palindrome(string): if len(string) <= 1: return True if string[0] != string[-1]: return False return is_palindrome(string[1:-1]) 재귀함수에서 종료 조건을 먼저 두는 것이 일반적인 원칙인지도 궁금합니다.
안녕하세요, 강사님. Shape 클래스 실습을 진행한 결과물을 공유드립니다. 실습 내용을 바탕으로 도형의 크기를 부모 클래스에서 관리하고, 각 자식 클래스에서 기본 크기를 지정할 수 있도록 생성자를 구성해 보았습니다. 시간 괜찮으실 때 구현 방향에서 어색한 부분이나 개선하면 좋을 점이 있는지 간단히 봐주시면 감사하겠습니다. 또한 이번 실습에서 추가로 생각해 보면 좋을 내용이 있다면 함께 알려주시면 감사하겠습니다. 감사합니다. package java2_30; import java.util.Scanner; /** * 화면에 출력할 수 있는 도형의 공통 부모 클래스입니다. * * 현재 실습에서는 삼각형과 정사각형만 다루므로, * 가로와 세로를 구분하지 않고 하나의 size 값으로 크기를 관리합니다. */ abstract class Shape { private final int size; protected Shape(int size) { this.size = size; } protected final int getSize() { return size; } /** * 각 도형의 모양을 콘솔에 출력합니다. */ abstract void render(); } class Rectangle extends Shape { private static final int DEFAULT_SIZE = 4; public Rectangle() { this(DEFAULT_SIZE); } public Rectangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j < getSize(); j++) { System.out.print("*\t"); } System.out.println(); } } } class Triangle extends Shape { private static final int DEFAULT_SIZE = 5; public Triangle() { this(DEFAULT_SIZE); } public Triangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } } } class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("사각형은 0, 삼각형은 그 외 숫자를 입력하세요: "); int input = scanner.nextInt(); Shape shape; if (input == 0) { shape = new Rectangle(); } else { shape = new Triangle(); } shape.render(); scanner.close(); } }
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-11 2. 시도해보신 내용 def find_prime_list_under_number(number): if number <= 1: return [] is_prime = [True] * (number + 1) is_prime[0] = is_prime[1] = False # 0과 1은 소수가 아님 for i in range(2, int(number ** 0.5) + 1): # 2 ~ 루트(number)까지 if is_prime[i]: # i가 소수라면, i의 배수들은 모두 소수가 아님 for j in range(i*i, number + 1, i): is_prime[j] = False return [i for i, v in enumerate(is_prime) if v] 기존 풀이보다 에라토스테네스의 체 방식이 직관적인 거 같아서 개선해보았습니다. 기존 방식과 지금 방식 중 무엇이 더 효율적인가요?
무료행사(2) 투포인터 문제에서 같은 가격을 가진 상품이 없다고 했으니 while의 else문(target과 일치하는 경우) 에서 l++ 만 하는 것 보다, 어차피 현재의 l, r 값은 검수 완료된거니 l++, r— 둘다 이동하는게 더 적절한 코드 아닌가 생각했는데요. 왜 l++ 만 하신건지 궁금합니다!
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 강의노트 노션 오랜만에 들어가니 권한이 없다고 나오는데요, 다시 신청해야하나요? 확인 부탁드립니다.