안녕하세요 선생님 빅데이터 분석에 관심이 있어 파이썬을 1도 모르는 상태에서 시작해 현재 선생님의 강의를 통해 많은 도움을 받고 있습니다. 현재 텍스트 마이닝 분석 방법으로 쓴 논문들을 보면 쇼핑몰 댓글 부터 해서 각종 SNS(페이스북, 인스타그램 등)의 댓글을 분석한 논문들을 많이 살펴볼 수 있는데 현재 파이썬 초보로서 데이터를 수집하는 과정(웹크롤링)이 제일 중요하고도 어려운 것 같습니다. 현재 텍스톰이나 빅카인즈 같은 웹사이트를 이용하는 것 말고 파이썬 으로 다양한 데이터를 직접 웹크롤링 해서 데이터를 수집하는 방법을 집중적으로 다룬 강의는 거의 찾아보기 어렵더라구요..ㅠㅠ 블로그 등에 검색해보면 코드가 공개된 것도 있지만 여기저기 코드 방식이 다 다양하고 막상 적용해서 실행해보면 또 에러 생기고 이유는 모르겠고 답답하더라구요. SNS 채널 및 쇼핑몰 댓글 등을 웹크롤링 하는 과정을 하나하나 다 보여주는 강의가 있으면 좋겠다고 생각하고 있는데 혹시 이렇게 여러 채널의 웹크롤링 과정만 다룬 강의를 올려주실 계획은 없으신지요?
public class BOJ_12865 { static int N; static int K; static int[][] merchandise; // 0 : 무게, 1 : 가치 static int[][] dp; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); K = sc.nextInt(); merchandise = new int[N][2]; dp = new int[10000000][N]; for (int i = 0; i < 10000000; i++) { for (int j = 0; j < N; j++) { dp[i][j] = -1; } } for (int i = 0; i < N; i++) { merchandise[i][0] = sc.nextInt(); merchandise[i][1] = sc.nextInt(); } int max = recursion(0, 0); System.out.println(max); } private static int recursion(int index, int weight) { if (weight > K) { return Integer.MIN_VALUE; } if (index == N) { return 0; } if (dp[weight][index] != -1) { return dp[weight][index]; } dp[weight][index] = Math.max(recursion(index + 1, weight), recursion(index + 1, weight + merchandise[index][0]) + merchandise[index][1]); return dp[weight][index]; } 안녕하세요 덕분에 강의 잘 듣고 있는 수강생입니다. 냅색 문제를 풀고 있는데, 최대 가능한 무게의 경우 100 (배낭 물품의 최대 개수) * 100,000(각 물건의 최대 무게) 로 생각보다 생성해줘야하는 배열의 크기가 크더라구요. 그래서 혹시 dp를 1차원 배열로 생성하면 어떻게 되는 지 궁금하여 1차원 배열로 해본 결과, 무게를 고려하지 않고 dp의 무게 갱신을 하게 되어 답이랑은 다르게 나오네요. 혹시 1차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.
안녕하세요. "실무로 배우는 빅데이터 기술" 교재와 15일간의 빅데이터 파일럿 프로젝트 강의에 열정을 쏟고 있는 학생입니다. 커뮤니티 게시판에 '고민있어요' 배너를 보고, 제 학습과 관련된 고민을 나누고자 글을 쓰게 되었습니다. 제 경험을 간단히 소개하자면, 약 2년간 직장에서 파이썬을 활용하여 크롤링, 분산 처리, API, DB 관리 등을 통해 데이터 수집 및 모델링 업무를 해왔습니다. 이후 데이터 엔지니어로 전환하면서, 본격적으로 이 분야를 공부하기 시작했습니다. Hadoop 생태계나 리눅스는 이전에는 이름만 들어본 적이 있었는데, 이번 강의를 통해 직접 프레임워크를 구축하고 설정하며, 데이터를 쌓아보는 경험은 정말 뜻깊습니다. 특히 Cloudera나 Git에서 'bigdata2nd-master' tar 파일을 받아 시스템을 구축하는 과정을 통해 전체적인 워크플로우와 업무에 대한 이해를 넓힐 수 있었던 점은 다른 어떤 강의보다 만족스러웠습니다. 처음 프레임워크를 하나하나 구축하고 설정하는 과정이 매우 어렵게 느껴졌는데, 이번 강의를 통해 크게 성장할 수 있었습니다. 강의 중 강사님께서는 프레임워크 자체에 집착하기보다는, 요구사항을 통해 세부적인 요구사항을 도출하고, 이를 해결하는 방법에 중점을 두라는 조언을 주셨습니다. 프레임워크가 어떻게 활용되는지를 이해하고, 실제 문제 해결에 적용하는 방향으로 학습하라는 조언은 매우 감사했습니다. 하지만, 저의 고민은 여기서 시작됩니다. 저만의 공부와 업무를 진행할 때, 대부분의 경우 도커 컨테이너 내에서 conf, yaml, Dockerfile 등을 직접 구성하거나 수정해야 할 것으로 압니다. Cloudera를 사용하지 않고 직접 프레임워크를 설계하며 공부를 해보고 싶은데, 이에 관련된 다른 강의나 학습 방향에 대한 조언을 구할 수 있을까요? 긴 글 읽어주셔서 감사합니다.
안녕하세요, 좋은 강의 감사합니다. 한국에서 6년차 백엔드 개발 경력이 있고, 호주 취업에 관심이 있어서 알아보고 있던 중 이 강의를 결제하게 되었어요. 요약해서 알려주신 부분은 너무 좋은데, 초급이라 적혀있으나 알고리즘을 풀어보지 않은 저에게는 난이도가 많이 높은 것 같아요. 해당 난이도를 소화하기 이전에 학습하면 좋을 부분이 있을까요?
파이썬 언어 이제 막 땐 코린이예요 올해 6월 쯤에 네이버 부스트캠프 코딩테스트가 있어서 준비중에 있는데 강의 완강한다면 합격권은 될까요? dfs, bfs, 구현, 누적합, 비트마스킹, 완탐, 그래프이론 정도가 범위라고 해요 첫 강때 난이도에 쫄지 말라고 하셔서 안쫄아 보려고는 하는데, 강의하시는 범위에 해당 되는지 궁금하네요 완강하는데 어느정도 걸릴까요? 강의명대로 2주잡고 하면 될까요? 하루에 몇강정도를 추천하시는지 궁금해요 시험까지 대략 4~5달 정도 남았는데, 부스트캠프에서 사용하는 자바스크립트로 개인 플젝 하면서 코테를 공부할지, 코딩테스트에만 확실히 집중해야될지 고민이네요 주변에 비교대상이 없어서 막막해서 여쭤봐요! 마지막으로 양질의 강의 감사합니다 열심히 배워볼게요
안녕하세요 cs지식 강의 듣고 강의력이 너무 좋아서 코테도 신청 하여 이제 막 듣고있습니다. 반도체 장비회사 쪽 근무하고 있고, 이직하려고 회사를 몇개 넣었는데, 서류가 붙는다면 1달정도 이내에 코딩 테스트를 보게 될 것 같아 시간이 촉박 한 상황입니다. 퇴근하고 코테에 CS지식에 시간도 빠듯한 상황인지라... 이런 경우에 좀더 효율적인 코테 공부방법이 무엇인지 궁금합니다. 참고로 코테 강의도 너무 강의 전달력이 참 좋으신 것 같습니다. 이해가 잘되네요..
원본배열 유지하고 새 배열 반환하도록 리팩토링한 GPT 코드입니다. 주석 달아달라니까 주석까지 친절하게 달아주네요ㅋㅋ 세상참 편해졌네요. GPT로 코테보는 사람도 있어서 그거 방지하려고 캠이랑 실시간으로 하는 경우도 있더라구요... function mergeSort(arr, leftIndex, rightIndex) { // 기저 사례: 하나의 요소만 있는 경우, 그 요소를 배열로 반환 if (leftIndex >= rightIndex) { return [arr[leftIndex]] } // 중간 지점 계산 let midIndex = parseInt((leftIndex + rightIndex) / 2) // 배열을 두 부분으로 나누어 각각을 재귀적으로 정렬 let leftArr = mergeSort(arr, leftIndex, midIndex) let rightArr = mergeSort(arr, midIndex + 1, rightIndex) // 병합된 배열 반환 return merge(leftArr, rightArr) } function merge(leftArr, rightArr) { let result = []; // 병합된 요소를 저장할 배열 let leftIndex = 0, rightIndex = 0; // 각 배열의 인덱스 // 두 배열 중 하나가 완전히 순회될 때까지 반복 while (leftIndex < leftArr.length && rightIndex < rightArr.length) { // leftArr의 현재 요소와 rightArr의 현재 요소를 비교 if (leftArr[leftIndex] < rightArr[rightIndex]) { // leftArr의 요소가 더 작은 경우, 결과 배열에 추가하고 leftArr의 인덱스 증가 result.push(leftArr[leftIndex]); leftIndex++; } else { // rightArr의 요소가 더 작거나 같은 경우, 결과 배열에 추가하고 rightArr의 인덱스 증가 result.push(rightArr[rightIndex]); rightIndex++; } } // 남은 요소들을 결과 배열에 추가 // leftArr 또는 rightArr 중 하나가 이미 완전히 순회된 후, 나머지 배열의 남은 요소들을 결과 배열에 추가 return result.concat(leftArr.slice(leftIndex)).concat(rightArr.slice(rightIndex)); }
안녕하세요! 먼저 좋은 강의 해주셔서 감사드립니다. 저는 코테를 준비하며 답지를 보지 않고 정답이 나올때까지 충분히 고민하며 풀었습니다. 그러다보니 한 문제를 푸는데 시간도 너무 많이 소요되었고 이제는 알고리즘, 자료구조 없이 문제를 풀기가 불가능한거 같습니다..(실버 2정도입니다..) 그래서 최근 강의를 듣기 시작하였고, 강의를 듣기 전 먼저 문제를 풀어보면 답은 맞지만 코드 효율성이 떨어져 시간 초과 혹은 메모리 초과가 자주 발생합니다. 제가 익숙치 않아서 그런걸까요?? 논리를 이해하고 코드를 외운 후 많은 문제를 풀면 개선될 여지가 있는건지 궁급합니다. 또한 추천해주실만한 학습방법이 있을까요? 항상 좋은 강의해주셔서 감사드립니다.
안녕하세요. 선생님 덕분에 멋진 강의를 듣고 있는 학생입니다.이제 유형 1을 다 수강했는데, graph를 초기화할 때 보통 N의 개수가 적으면 불리언 2차원 배열로 선언하고, N의 개수가 많으면 빈리스트로 구성된 2차원 리스트로 선언하는데요.그냥 모든 문제에 빈리스트로 구성된 2차원 배열을 선언하지 않는 이유가 N의 개수가 적으면 배열로 선언하고 조회하는 게 더 빠르기 때문인지 여쭤봐도 될까요?
[실전]텍스톰 TEXTOM 실전 강의: 빅데이터 논문 작성을 위한 텍스트 분석/텍스트마이닝
N-gram 분석은 N개 단어의 연쇄를 확률적인 수치를 산출하고 시각화하는 방법으로 대용량의 문서에서 특정 단어 뒤에 위치하는 단어나 음절의 빈도를 정량적인 수치로 나타낼 수 있다(Kang & Lee, 20019). 단어 간 연결방향이 화살표를 통해 시각화되며 화살표의 굵기 크기를 통해 연결강도가 결정된다(Yoo et al., 2019). 또한 연관 단어 간 관계성을 분석하면 단어간 관계 파악에 용이다하다(Kim, 2020). 본 연구에서는 Textom에서 제공하는 N-gram 텍스트마이닝 기법 시 데이터의 흐름과 이해를 하기 위해 가장 먼저 기초 분석 자료로 활용되는 기법이기도 하다. 단어빈도에 기반한 분석은 전체 문서 내에서 특정 단어의 풀현 빈도를 나타낸다. 문서 내에 특정 단어가 등장하는 횟수를 나타내며 이수치값이 클수록 문서에서 자주 사용하는 단어임을 의미한다(Jang et al.,2018). 높은 출현 빈도를 나타내는 단어는 대체로 연구주제와 관련된 함축된 의미를 내재하고 핵심 단어로 작용 할 수도 있다(Lee,2022).
이번 주 일요일에 코테를 봅니다ㅜㅜ 특정 알고리즘이 아닌 구현 문제는 어떤 식으로 공부하는 게 좋을까요? 시뮬레이션 문제라든가... 선생님 강의를 보면 의식의 흐름대로 따라갈 때에는 일리가 있고, 정답으로 가는 길이긴 한데, 막상 문제에 진입하게 되면 어떻게 그 규칙을 발견해야할지 모르겠습니다.. 특히 DP의 점화식을 세우는 것. 어떻게 연습해야할까요 ㅜㅜ