안녕하세요 선생님~~ 강의에 나온 답안의 시간복잡도는 solution 함수의 for문 안에서 compareMaps 가 실행되고, compareMaps 또한 for문을 가지기 때문에 O(N^2) 이라고 생각했는데 맞나요?? 제가 구현한 코드는 아래와 같은데요 제 코드는 확실히 O(N^2) 인 것 같습니다.. ㅠ function solution(s, t) { let count = 0; let l = 0; // 1. 부분 문자열을 구하는데, t.length와 같은 길이를 가진 문자열을 구한다. for (let r = t.length; r <= s.length; r++) { const temp = s.substring(l++, r); // 2. 그 문자열이 아나그램인지 확인한다. if (isAnagram(temp, t)) count++; else continue; } return count; } function isAnagram(str1, str2) { // 정렬 사용하지 않고 해보기 const map = new Map(); for (let char of str1) { if (map.has(char)) map.set(char, map.get(char) + 1); else map.set(char, 1); } for (let char of str2) { if (!map.has(char)) return false; if (map.has(char) && !map.get(char)) map.set(char, map.get(char) - 1); if (map.get(char) === 0) return false; } return true; } let a = 'bacaAacba'; let b = 'abc'; console.log(solution(a, b));
jpashop.mv.db파일이 생성되지 않고 , IO Exception: null [90028-200] 90028/90028 가 뜨는데 제가 이전 수업에서 사용했던 test.mv.db파일이 있어서 jpashop.mv.db파일이 생성이 안되는건지 모르겠습니다. 도움주시면 감사하겠습니다 ㅜㅜ
addimage = () => { launchImageLibrary ({}, response => { this . setState ({ avatar: response . uri }) }) } launchImageLibary가 동작하고 사진 선택까지는 되는데 선택한 뒤 화면에 사진 load가 되지 않습니다..! 왜 그러는 걸까요??
안녕하세요 제가 작성한 코드에 어디가 문제인지 잘 모르겠어 질문합니다. 선생님께서 풀어 주신 방법과 거의 비슷하게 푼것 같은데 어디가 잘못 됐는지 모르겠습니다.(저는 깊은 복사 대신 새로운 객체를 만들었습니다.) import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public ArrayList<Integer> solution(int n, int[] arr) { ArrayList<Integer> answer = new ArrayList<>(); int[] tmp = new int[n]; for(int i=0; i<n; i++) { tmp[i] = arr[i]; } Arrays.sort(arr); for(int i=0; i<n-1; i++) { if(tmp[i]!=arr[i]) { answer.add(i+1); } } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for(int i=0; i<n; i++) { arr[i] = kb.nextInt(); } for(int x:T.solution(n, arr)) { System.out.print(x+" "); } } }
선생님, 안녕하세요?? 문득 Python에서의 call by value 방식에 대해 궁금증이 생겼습니다. 임의의 1차원(차원은 크게 상관없습니다만) 배열(혹은 행렬) x가 있을 때 np.sort(x) : x라는 1차원 배열의 복사본을 sort함수의 인자로 전달하여 np 라이브러리의 sort 함수의 결과(정렬배열)을 리턴 x.sort() : x라는 1차원 배열의 원본에 대해 정렬을 수행 -> 따라서 원본을 가지고 연산하였기 떄문에 원본이 정렬된 결과로 바뀜 이라고 말할 수 있을까요? 그리고 만일 엄청난 크기의 배열을 정렬해야 한다고 가정할 때 call by value는 효율적이지 못하기 때문에 C에서의 포인터처럼 call by reference를 쓴다고 저는 배웠는데 파이썬에서는 저런 복사 비용을 감내하여도 그냥 진행을 하게 되는지 여쭙고 싶습니다. 감사합니다~~!!
안녕하세요,좋은강의 주셔서 감사합니다. 4:22초쯤에 참조형 데이터의 경우 메모리 할당방식에 대해서 설명주시고 계신데, 객체의 property들의 값이 저장될 연속적인 메모리공간의 시작주소를 객체의 참조변수가 가르키는 메모리공간에서 가르킨다고 이해하였는데 맞게 이해한건지 궁금하여 질문드립니다. (객체의 참조변수 -> property들 값이 저장될 연속된 메모리 공간의 시작주소를 가르키는 메모리공간 -> property들 값이 저장될 연속된 메모리 공간의 시작주소)
안녕하세요~ K-means Clustering 강의 듣다가 궁금한 점이 생겨 질문 남깁니다. 강의 중 for _ in range(10000): # iterate 10000 times for statistical safety random_idx = random.randint(0, n_data*n_class-1) 위 부분에서 randint의 범위를 (0,499)로 하게 되면 0~498 사이의 임의의 정수가 출력되어서 마지막 499번째는 포함이 안되는 것 아닌가요..?
안녕하세요. 강사님이 네이버에서 강의한 내용을 보면서, 모든 코드 줄 하나하나에 감탄하면서 봤습니다. 인프런에도 강의 공유 해주셔서 정말 감사합니다. 덕분에 이렇게 직접 질문도 드릴수 있게됐네요. const log = console.log; function reduce(f, init, iter) { if(arguments.length==2) { iter = init[Symbol.iterator](); init = iter.next().value; } for (const a of iter) { init = f(init, a); } return init; } const go = (...fs) => reduce((f,a) => f(a), fs); go(100, a=>a+1, a=>a+10, log); 강사님, 강의를 보면서 직접 코딩했는데, 위 처럼 f와 a의 위치에 따라 오류가 발생합니다. 분명 위치값은 중요하지 않을텐데, 왜 에러가 나는지 도저히 이해가 안됩니다. 도아주세요~
안녕하세요 ^^ 강의는 인텔리제이를 이용했는데, 추후 에는 sts로 옮기려고 하는데 가능한건가요? 인터넷 뒤져보니 안될수도 있다고 하는 글을 봐서요.. 그리고 혹시 팀원끼리 하나의 프로젝트를 만드는데, 각자 다른 툴(팀원 A는 인텔리제이, 팀원 B는 sts툴)로 사용시 문제가 있을까요?
안녕하세요, 지금까지 여러가지 각종 라우팅 프로토콜을 배웠는데요, 실제 현장 업무에서는 어떤 라우팅 프로토콜이 보편적으로 가장 많이 사용되나요? 강의에서 설명해 주신 바로는 static routing protocol은 작은 규모에만 사용될수 있고, eigrp 같은 경우는 씨스코 장비 전용이라고 하셨는데요, 그럼 실제 현장에서는 작은 규모는 static 을 애용하고 씨스코 장비 사용시는 eigrp 만 사용하나요? 아님 작은 규모던 씨스코 장비사용중이던 간에 다른 종류 (예: 가장 많이 사용한다고 말씀해주신 ospf) 같은 것도 사용할수 있나요? 실제 현장에서는 어떠한지 궁금합니다.