게시글
질문&답변
2023.11.26
시간복잡도 질문
네 제가 보기에는 모든 데이터를 완전탐색으로 순회했기 때문에 사실상 O(n)입니다. 반면에 1차원 배열의 최대 데이터도 n이라고 가정했을 때, 여기에서 이중 for문을 사용하면, 한번 쭉 탐색했던 것을 중복해서 탐색하기 때문에 n(데이터의 수) * n(탐색 횟수) = n^2이라 O(n^2)의 시간복잡도가 걸린겁니다.
- 0
- 2
- 366
질문&답변
2023.11.01
elif left and right return left or right
현재 left와 right에 값이 있으므로 if문에서는 결국 True and True이기 때문에 if True: 와 같은 맥락이 됩니다
- 1
- 3
- 355
질문&답변
2023.09.23
two_sum 딕셔너리 문제 코드관련 질문이 있습니다.
아 찾았습니다. 저도 모르게 nums = [3,3], target = 6의 테스트케이스를 기준으로 해서 prev를 리스트처럼 순서에 의존하다보니 틀리는거였군요 따라서 모범답안과 같이 해당하는 키의 value를 추가하기 위해 ans.append(my_dict[target-v])와 ans.append(i)로 하는게 맞는거 같습니다추가로, chatgpt로 질문을 해봤는데 dict는 파이썬의 예약어로 되어있어서 덮어씌울 위험이 있기 때문에 my_dict와 같이 변수명을 설정해주는 것이 좋다고 합니다 :)
- 1
- 1
- 310
질문&답변
2023.08.17
super사용해봤는데 이해가 잘 안되네요
메인 함수 부분에서 ((Lion)animals[1]).cry(); 부분을 ((Lion)animals[1]).lionCry(); 로 바꿔서 다시 실행해봅시다.참고로, Lion클래스의 메소드를 lionCry()가 아닌 cry()로 정의하면 ((Lion)animals[1]).cry(); 이 부분을 그냥 animals[1].cry(); 로 실행시켜도 다형성에 의해 Animal클래스의 cry()부분이 오버라이딩되어 Lion클래스의 cry()부분이 호출되기 때문에 글쓴이님께서 원하시는 부분이 아래와 같이 출력됩니다.(사진)
- 1
- 2
- 430
질문&답변
2023.08.15
b1.appendModelName 까망이(최신형)
append가 인텔리제이에서 제공하는 메소드같은 것이 아니라, 질문자님께서 정의하신appendModelName 메소드의 동작 코드가 그래서 그렇습니다.자세히 설명드리자면,메인함수에서 appendModelName의 인자에 어떤 것을 넣느냐에 따라 b1의 이름이 달라집니다. 즉, b1.modelName = "까망이"; 로 현재 Blackbox 클래스의 String modelName 필드의 값이 "까망이"로 초기화됬는데, 인자에 "(최신형)"을 넣으면 this.modelName = "까망이"에 인자값인 "(최신형)"을 더해서 까망이(최신형)의 값을 다시 필드에 초기화시켜준 것입니다.(필드의 값이 어떻게 초기화되는지는 디버깅을 통해 알 수 있습니다)추가로, this는 현재 메인함수에서 생성된 인스턴스(실제 메모리에 잡힌 객체)를 일컫습니다. 여기서는 b1이라고 변수명을 지정했으니 b1이 this가 되는것입니다. 다시 질문자님의 appendModelName의 정의 부분을 풀어서 보면this.modelName = this.modelName + modelName; 이 되고, 이를 인스턴스가 생성된 메인함수로 적용시켜보면b1.modelName = "까망이" + "(최신형)"; 이 되어서 최종적으로 까망이(최신형)이 출력되어 나오는 것입니다.
- 0
- 1
- 257
질문&답변
2023.08.10
구상클래스에서 인터페이스 변수를 선언한 이유가 혹시 다형성과 관련이 있나요?
(사진)이해를 돕기 위해 객체간의 관계도를 그려봤습니다
- 0
- 2
- 420
질문&답변
2023.03.12
다차원 배열 순회부분
제가 보기에는 강사님께서 seats3[i][j]에 요소들을 할당하는 부분과 출력하는 부분을 설명하기 쉽게 나누신 것 같습니다. 글쓴이님처럼 작성을 하신다면 할당을 먼저 한 다음, 출력을 바로 해주는 것이기 때문에, 출력결과가 동일한 것은 당연합니다.
- 0
- 2
- 316
질문&답변
2023.03.12
안녕하세요. 배열 강의 부분에서 공부를 하면서 "값 변경"에 대해 드릴 말씀이 있습니다.
공부할 때마다 자꾸 새로운 지식을 배워가서 정정합니다. 기본 자료형(Primitive data)인 int, double, boolean, char, float 같은 경우에는 value를 변수명에 할당하는 것이기 때문에 "값 변경"이 맞고, String같은 참조 자료형(reference type)은 우변에 있는 참조 객체를 좌변에 있는 객체변수에 할당하는 것이기 때문에 "참조 값 변경"이라고 합니다.
- 0
- 3
- 379
질문&답변
2023.03.11
Quiz 4에서 강사님이 작성하신 if문과 달리 case문으로 작성해보았는데 피드백 부탁드립니다.
아 정정합니다. for문으로 돌리면 시간복잡도가 늘어나게 되니까 강사님처럼 hour를 변수로 두고, fee = hour * 4000; 으로 하는게 바람직한 것 같습니다.
- 0
- 2
- 658
질문&답변
2023.03.05
c++을 공부하고 Java를 공부하려고 하는데 클래스부터 진행하도 괜찮을까요??
아 아닙니다... 천릿길도 한 걸음부터라는 마인드로 기존에 들었다면 2배속으로 듣고 퀄리티 높은 퀴즈를 푸는게 나을 것 같습니다 :)
- 0
- 2
- 625