1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1- 10 어떤 알고리즘을 학습하고 계신가요? 1 - 10 2. 궁금한 부분 def find_not_repeating_first_character(string): occurrence_array = find_alphabet_occurrence_array(string) for char in string: if occurrence_array[ord(char) - ord('a')] == 1: return char return "_" def find_alphabet_occurrence_array(string): alphabet_occurrence_array = [0] * 26 for char in string: index = ord(char) - ord('a') alphabet_occurrence_array[index] += 1 return alphabet_occurrence_array 딩코딩코 선생님의 풀이와 다르게 반복된 값이 들어 있는 array에서 string의 element를 순회하면서 index의 빈도수를 조회하고 1이면 return 하도록 했는데 괜찮은 접근일까요?
jsp화면에서 contentType 과 pageEncoding 이 모두 UTF-8인데 왜 상단에 reqeust.setCharacterEnding("UTF-8"); 을 지정해야 되는지 잘 모르겠습니다. 어짜피 저 코드를 주석 달아도 실행되서 똑같이 출력 결과가 동일한데 굳이 하는 이유는 무엇인지 자세히 알려주실 수 있을까요?ㅠ
Airflow Variables 설정시 스노우플레이크와 연결을 위한 snowflake_userid, snowflake_password, snowflake_account 설정은 이해를 합니다. 그런데 첫번째인 Country_capital_url 왜 설정하는지 이해가 안갑니다.
point 0 1 2 3 isWhat 5 6 3 현재 point가 1로 6을 출력한 뒤 마지막 두번째 take()를 하면 return isWhat[point--]는 현재의 isWhat값인 6을 출력한 뒤에 point는 0이 되고, 다시 마지막 take()를 다시하면, return isWhat[point--]로 point 0일 때 isWhat의 값 5를 출력한 뒤에 point -1이 되어 종료되는 것은 아닌가요? 6이 한 번 더 있어야 되는 것은 아닌지 여쭈어 봅니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 혹시 강의대로 똑같이 했는데 오류가 떠서 질문 남깁니다ㅠㅠ 오류 java : cannot find symbol symbol : class Controller 무엇이 문제일까요ㅠ.. 따로 건든것도 없습니다 .
from itertools import permutations infos = list(input()) ans = 0 for comb in set(permutations(infos)): ok = True for i in range(0,len(infos)-1): if comb[i] == comb[i+1] : ok = False break ans += ok print(ans) BOJ 1342번 문제를 다음과 같이 풀었는데 계속해서 메모리초과 때문에 오답처리가 나서 질문 남깁니다. permutations가 한 번에 모든 순열을 생성하기 때문에 메모리 문제가 발생한다고 GPT의 답변을 얻을 수 있었으나, 강사님의 풀이 1번에도 permutations가 있는데도 메모리초과가 나지 않고 정답처리가 나서 왜 이런 차이가 나는 지 궁금합니다.
안녕하세요. Java 상속 10개 예제 파트의 유형 5. 부모 메서드를 오버라이딩하지 않고, 자식에서 새롭게 정의된 메서드를 사용 할 경우에 대해 질문이 있어서 남깁니다. 아직 제가 업캐스팅에 대해 완벽히 이해가 되었지 않았기 때문에 드리는 질문입니다. 업캐스팅이란, 객체 생성 시, 클래스의 타입은 부모 클래스로, 생성자는 자식 생성자로 하는 것이라 배웠습니다. 업캐스팅이 진행 될 경우, 기존 부모 클래스 내부 메서드는 해당 객체에서 활용할 수 있지만, 자식 클래스에서 부모 클래스의 메서드를 오버라이딩 하지 않고, 새롭게 정의한 메서드를 사용할 수 없는 것인가요? 예를 들어, 다음과 같은 코드를 살펴 볼 경우, class Parent { // 부모 클래스의 void형 메서드 show void show() { System.out.println("Parent show"); } } class Child extends Parent { // 자식 클래스의 void 형 메서드 show(int a) // 부모 클래스에 존재하지 않던 메서드를 새롭게 정의한 메서드 void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Parent p = new Child(); // 업캐스팅으로 생성된 객체 p // p는 참조 타입이 Parent이고, 생성은 Child 생성자에 의해 생성된 객체이다 p.show(); // p.show() -> Child에 없는 메서드 -> Parent에서 해당 메서드 호출 p.show(1); // p.show(1) -> Child에만 있는 메서드 -> 참조 타입이 Parent이기 때문에 컴파일 에러 발생 } } p.show()는 Parent 클래스에서 정의된 메서드 show()를 호출하지만, p.show(1)는 Child 클래스에서만 정의된(Parent 클래스에는 없는) 메서드이기 때문에, 참조 타입에 따라 컴파일 에러가 발생하는 것 같습니다. 아직 제가 업캐스팅을 잘 이해하지 못해서 그런지, 업캐스팅이 없으면 안되는 경우를 제가 모르기 때문인지, 업캐스팅의 이점을 잘 모르겠습니다. 사실 저 경우도 단순히 Child 타입으로 p를 만들었다면 문제 없이 넘어가는 경우이고, 두 번째 자식 클래스의 메서드에서 오버라이딩을 진행한 경우에도 업캐스팅을 사용해야 하나?라는 의문이 들었습니다. class Parent { void show() { System.out.println("Parent show"); } } class Child extends Parent { void show() { System.out.println("Child show"); } void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Child p = new Child(); p.show(); p.show(1); } } 업캐스팅을 단순히 정처기 실기를 통과하기 위한 하나의 주제로 보는 상황이라 이런 문제가 벌어지는 것 같습니다...ㅠㅠ 혹시 개발 과정에서 업캐스팅이 없으면 안 되는 경우(저처럼 그냥 타입을 Child로 바꿔버리면 안 되는 경우 등)에 대한 예시가 있을까요?? 다양한 문제 상황을 주셔서 여러 고민을 할 수 있는 것 같습니다. 항상 질 높은 강의 감사드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바 중급 1편 String클래스 문제와 풀이 1에 5번째 indexOf와 substring을 조합해서 hello.txt 의 파일 명과 확장자 부분을 분리하는 문제입니다. package lang.string.test; public class TestString5 { public static void main(String[] args) { String str = "hello.txt"; String ext = ".txt"; int index = str.indexOf(ext); String fileName = str.substring(0, 5); System.out.println("fileName = " + fileName); System.out.println("extName = " + ext); } } 제 코드 package lang.string.test; public class TestString5 { public static void main(String[] args) { String str = "hello.txt"; String ext = ".txt"; int extIndex = str.indexOf(ext); String filename = str.substring(0, extIndex); String extName = str.substring(extIndex); System.out.println("filename = " + filename); System.out.println("extName = " + extName); } } 정답 코드 위 코드가 제가 작성한거고 아래 코드가 pdf교재의 정답입니다. 선생님과 코드는 다르지만 같은 결과가 나왔습니다. 제가 궁금한 건 선생님처럼 코드 작성을 하면 더 좋은 부분이 있나요? 혹은 제가 작성한 코드가 결과는 같지만 어떠한 문제가 있는 게 아닐까 싶어서 질문 남겨봅니다. 단순한 호기심입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니요 비슷한내용은 있으나 문제가 다릅니다. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 오류메시지는 다음과 같으며 이미 1.8버젼으로 설정이 되어있는데 오류메시지가 출력됩니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 8분47초 강의 중에 구조 개선- 값 입력 강의하시는중에 배열 선언을 최적화 하기위해서 이중for문 이용해서 변수i선언해서 푸는법 알려주셨는데요! 혹시 밑에있는 이중 for문에 arr[row][column] =i++; 추가해서 컴파일하면 값은 똑같이 나오는데 이렇게 코딩하는것이 더 효율적인거 아닌가해서 문의드립니다! package array; public class ArrayDi2 { public static void main(String[] args) { int[][] arr = new int[2][3]; //row 는 행,열은 coulmn int i=1; for (int row = 0; row < arr.length; row++) { for (int column = 0; column < arr[row].length; column++) { arr[row][column]= i++; System.out.print(arr[row][column] + " "); } System.out.println(); } } } 이 코드요!
A s2=new B('Y') 구문 부분이 명확히 이해가 안되어 질문드립니다. 아래에 쓴 해석이 맞는지 확인 부탁드립니다. 해석) A s2=new B('Y') 가 생성되었을 때, 상속의 원칙으로 부모의 기본 생성자를 호출해야되나 B(char x)의 첫줄에 this()로 인해 자신의 클래스[B class]의 기본 생성자[B()]가 호출되며, 기본생성자의 출력구문이 모두 종료된 후 다시 B(char x)으로 돌아와 남은 출력 구문을 실행하고 종료. 헷갈리는 부분이 있어 다른 질문도 드립니다. 1. B(char x)의 this로 인해 자신의 기본 생성자인 B()를 실행했을 때 super()가 없었어도 A클래스의 기본생성자를 호출하고 B클래스의 기본 생성자를 호출한 뒤 B(char x)의 출력구문을 실행한다. -> 이게 맞다면 왜 super()가 없었어도 A클래스의 기본생성자를 호출되는지? 그리고, 만약 A클래스에 기본 생성자가 없었다면 출력이 어떻게 되는지 궁금합니다. 2. B(char x)에 this가 없었다면 부모의 기본 생성자가 호출이 되고 다시 돌아와 출력문이 실행되는지 궁금합니다. 3. main에서 생성자가 생성이 될 때마다 생성자에 명시적으로 super나 this가 없다면 부모의 기본 생성자가 호출이 되는지 궁금합니다 -> main에서 업케스팅 형태로 생성1 생성2 생성3 ... 인 경우에서 생성부분에 파라미터가 있든 없든 명시적으로 super나 this가 없다면 각각 실행마다 부모의 기본 생성자가 실행이 되는지 적다보니 질문이 많이 생겼습니다.. 확인 부탁드립니다 감사합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요. - 먼저 유사한 질문이 있었는지 검색해보세요 - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님. 안녕하세요. 현재FAST_API를 구성하여 uvicorn app.main:app --reload --host 0.0.0.0 --port 8010 위와 같이 로컬서버를 열었습니다. 사내에서 프론트엔드쪽에서 제 서버로 접속을 시도하는데 공용 Wifi를 쓰고 있어서 IP주소만 192.168.0.x:8010으로 프론트엔드쪽에 전달을 했습니다. 하지만 프론트쪽에서는 제 로컬 서버로 접속이 안되고 계속 로딩만 되고 있습니다. 로컬에서 swagger를 열어서 서버테스트를 했을 때에는 전혀 문제가 없었는데 현재 문제는 공용 라우터 아래 무선 랜을 잡아서 쓰고 있는 두 컴퓨터간의 통신이 안되고 있습니다... 하지만 프론트에서 index.html을 5500포트로 열어서 공유한 것을 잘 열립니다. 정말 gpt, claude를 쪼아서 물어봤는데도 계속 똑같은 이야기, 방화벽 설정에서 인바운드 포트설정이야기만 합니다 혹시 어떤 문제인지 좀.. 도와주십시요. 내일 대표님 앞에서 프로젝트 시연을 해야하는데 지금 ...큰 문제입니다.
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다. 문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주 셔야 빠른 답변이 가능합니다. 코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다. 답변은 바로 제공되지 않을 수 있습니다. 실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 네트워크 프로그램6 - 자원 정리 를 복습하다가. 질문을 드립니다. 어제 네트워크 네트워크 프로그램 들을 복습하면서 혼자 만들어 보면서 따라하다가 어찌하다 보니 사진 처럼 SessionV4 필드에 private DataInputStream input; private DataOutputStream output; run()에서 객체를 생성하게 되었습니다. 그래서 이것을 코드들에 적용 시켜보자 하다가 이 코드가 나왔습니다. 그래서 질문은 이렇게 코드를 SessionV6에서 짜도 되는 지가 질문입니다. 아니면 영한님 처럼 생성자 에서 전부다 생성하고 초기화 하는게 맞는지 알고 싶습니다. 답변 부탁드립니다.
메모리 가시성에 대한 그림 예시에는 코어가 2개인 멀티 코어로 되어있어서 싱글코어인 상황도 궁금해졌습니다. 코어당 캐시 메모리가 있으니까 여러 스레드들이 같은 캐시 메모리에 접근하므로 메모리 가시성 문제가 발생하지 않을 것 같은데 , 싱글 코어에서도 가시성 문제가 발생하는지 궁금합니다.
포인터에 의한 문자열 출력 경우들을 몇가지 정리해봤는데 정확히 이해하고 있는 건지 모르겠습니다. 선생님 한번 봐주세요 #include <stdio.h> int main() { char *s="Hello world!";//포인트 변수 s 선언, 문자열 Hello world! 저장 printf("%s\n", s); // 포인트 변수 s호출, 문자열의 첫번째 주소를 가져온다. %s에 의해 '문자열'로 취급되서, 전체 출력한다. //printf("%c\n", s);//이건 에러가 나는데 문자열을 문자로 출력하려고 해서?? 잘 모르겠습니다. printf("%c\n", *s); // 포인트 변수 s호출, 문자열의 첫번째 주소가 갖는 값을 가져온다. %c에의해 '문자'로 취급되서, H를 출력한다. printf("%c\n", *s+1); //포인트 변수 s호출, 문자열의 첫번째 주소가 갖는 값을 가져온다. 우선 H가 호출되고 1을 더한 I가 출력 printf("%c\n", *(s+1)); // 포인트 변수 s에 1이 더해진 문자열의 두번째 주소가 갖는 값을 가져온다. e를 출력한다. return 0; }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강사님! 캐시 메모리에서 값이 변경이 되어도 메인 메모리에 언제 값이 적용될지 모르는건데 synchronized를 사용하면 메인 메모리는 무조건 값이 메인 메모리에 반영이 되는 걸까요?
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 구조를 보면 마지막 페이지로 갈 수록 모든 페이지 목록을 불러오는거 같은데 제가 이해한게 맞나요? pageLimitCalculator를 보면 page=4, pageSize=10, movablePage=3일때 pageLimitCalculaotr를 계산하면 61인데 현재 4페이지에 있다면 2번째 그룹인데 2번째 그룹의 데이터 목록들만 불러오는게 아니라 1번째 그룹데이터까지 포함해서 총 60개를 불러오는게 맞는거죠? 그렇다면 pageLimitCalculator 공식에서 (((page - 1) / movablePageCount) + 1) pageSize movablePageCount + 1; 마지막에 1을 더해주는데 왜 해주는 건가요? 다음 페이지에 데이터가 있나 없나를 확인하기 위해 1을 더하는건줄 알았는데 제가 생각한대로 마지막페이지로 갈수록 모든 데이터를 불러오는 구조라면 굳이 마지막에 1을 더할 필요가 있나 싶어서요 궁금합니다!