목록전체 글 (86)
아보카도 Blog
오늘부터 3일간 내배캠에서 알고리즘 강의를 해준다. 우리 자료구조 알고리즘 강의에서 쓰는 강의노트를 기반으로 주석달아주신건데 처음에는 괜찮았지만 마지막에 코드를 직접 입력할 때 자바스크립트랑 파이썬이랑 헷갈렸고, 문자열 요약하기 문제에서는 알고리즘을 짜지 못했다 ㅠㅠ 그래도 실시간으로 시간을 정해놓고 코드를 직접 작성하고 피드백을 받을 수 있어서 좋았다. 오늘 배운 것과 느낀 점은 1. 파이썬으로 코딩하는 것에 익숙해지기 2. 기본 코딩 능력을 튼튼히 하기 (변수 선언, 출력, 반복문, 조건문 등) 3. 최댓값 for문 두 번 돌려서 푸는 방법 (실험군과 대조군) def find_max_num(array): for num in array: for compare_num in array: if num < c..
오늘은 대망의 자료구조, 알고리즘을 시작한 날이다. 처음에는 그럭저럭 할만 했는데 가면 갈수록 알고리즘 아이디어 떠올리기가 쉽지 않았다. 1. 알고리즘이란 어떤 문제가 있을 때 그것을 해결하기 위한 여러 동작들의 모임이다. 2. 최빈값 중 알파벳 별 빈도수 찾기 1) 알파벳별 빈도수를 찾기 위해 alphabet_occurrence_array = [0]*26을 미리 설정해 주기 2) 아스키 코드로 숫자-문자값 변환하기 3) alphabet_occurrency_array[arr_index] +=1 배열에 인덱스값 넣고 하나씩 더해주기 3. 최빈값 중 가장 빈번하게 등장한 알파벳 찾기에서 첫 시작은 1) 각 알파벳들을 하나하나 문자열과 비교하면서 몇 번 나왔는지 검사하는 것 또는 2) 각 알파벳의 빈도수를 a..

자바스크립트 기초 강의를 들었다. 한 주 강의로 이루어진 짧고 기초적인 강의였다. Node.js를 처음으로 설치해봤다. git bash처럼 명령어를 입력할 수 있는 터미널이 바로 뜬다. Visual Studio Code에서 터미널을 켜고 node 언급해주면 바로바로 콘솔창으로 결과를 확인할 수 있다는 이점이 있다. 이걸 알기 전에는 직접 크롬창에 끌어다가 개발자도구 > 콘솔창까지 켜서 실행 결과를 확인해야 했다. 이번 강의에서 배운 내용을 간단히 정리해보자. 1. 프로그래밍, Node.js, VS Code 프로그래밍은 데이터의 입력, 처리, 출력을 한다. Node.js란 자바스크립트는 일종의 번역기이다. 무엇을 전용으로 하느냐? 자바스크립트의 문법에 맞게 코딩했을 때 컴퓨터가 이를 해석해서 처리할 수 있..
와우 처음에는 그냥 저냥 했는데 알고리즘이란 게 참 어렵구나 ㅎㅎ 많은 문제들을 풀면서 익숙해지는 수밖에 없다. 1주차에는 파이참으로 파일 관리하는 방법, 파일/폴더 이름짓기부터 시작해서 숫자열과 문자열을 처리하는 연습문제들을 풀어봤고 시간 복잡도와 공간 복잡도, 점근 표기법의 개념에 대해 알아보았다. 마지막에 푼 반복되지 않은 문자와 숙제 문자열 뒤집기가 어려웠다. 1. 알고리즘 알고리즘이란 어떤 문제가 있을 때, 그것을 해결하기 위한 여러 동작들의 모임을 말한다. 2. 최댓값 찾기 첫번째 방법: 각 숫자마다 모두 다른 숫자들과 비교한다. 여기에는 for문이 두 번이나 쓰였다. for문에서 괄호를 쓰지 않게 조심해야 하고 중간 중간마다 break나 continue를 써주기. 마지막에는 return 값까..
오늘은 파이썬 문법 기초를 들은 날이다. 파이썬 들어가기 전에 웹개발 종합반에서 배운 Flask는 이해하고 넘어가재서 서버-클라이언트 개념부터해서 API, Ajax, JQuery, JSON 등의 헷갈리는 개념들을 한 번씩 더 봤다. 1. 서버와 클라이언트 서버란, 컴퓨터 네트워크를 통해 개인 컴퓨터를 넘어 직접 연결하지 않은 다른 컴퓨터까지 서비스를 제공하기 위한 소프트웨어이다. 클라이언트는 서버와는 반대되는 개념으로, 서버에서 보내주는 데이터를 받거나, 서버에 요청을 하는 소프트웨어다. 예를 들어, 웹 브라우저 또한 클라이언트 프로그램이다. 컴퓨터 사용자는 웹 브라우저를 통해 사용자 인터페이스가 구현된 화면에서 클릭이나 드래그를 하는 등의 행위를 통해 서버에 정보를 요청하고 받아오게 된다. 2. 로컬 ..
이번 2주차에는 데이터에서 의미있는 값을 도출하기 위한 작업을 했다. 이를 통해 최대, 최소, 평균, 개수 등의 통계 데이터와 범주(category)의 각각의 정보를 알 수 있었다. 1. group by 동일한 범주를 갖는 데이터를 하나로 묶어서 범주별 통계 내기. 2. order by select name, count(*) from users group by name order by count(*) desc; //내림차순 select name, count(*) from users where email like '%gmail.com' group by name; where, group by, order by와 같이 쓰일 때 쿼리가 실행되는 순서를 생각해 보아야 한다. 쿼리 실행 순서: from, group..

스파르타 코딩클럽에서 백엔드 Node.js 배우는 데 필요한 파이썬 강의. 1주차로 이루어진 아주 간단했다. 1. 튜플 (tuple) 리스트와 비슷하지만 불변인 자료형. 딕셔너리 대신 리스트와 튜플로 만들어 사용해야 할 때 쓰인다. a = (1,2,3) print(a[0]) a_dict = [('bob','24'),('john','29'),('smith','30')] 2. 집합 (set) 중복이 제거된다는 장점이 있다. 교집합(&), 합집합(|), 차집합(-) a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1] a_set = set(a) print(a_set) 3. f-string 변수로 더 직관적인 문자열을 만들 수 있다. scores = [ {'name':'영수','score'..
내일배움캠프 Node.js 트랙의 1주차가 끝이 났다. 주말에도 조금 공부하고 WIL(Week I learnt)를 쓰려고 했지만 주중에 60시간동안 앉아 있다보니 주말에도 조금 앉으려는 생각이 일체 들지 않는다 ㅋㅋ 이번 주에는 팀을 처음으로 짰다. 우리 5조에는 진영님, 호균님, 성원님, 규태님 그리고 내가 있었다. 내가 한 번 생각해본 팀의 목표 및 약속인데, 깃 연동 때문에 시간을 많이 빼앗기는 바람에 팀이랑 상의할 시간이 없어서 키워드만 적어 냈던 거다. 이건 다른 팀에서도 또 써먹을 수 있을 것 같아 메모해놓기. 1)배운 것을 잘 소화시켜 내 것으로 만들기 2)한발짝 나아가 추가적인 학습 및 적용을 하는 용기 갖기 3)이론적인 것 보는 것보다 한 글자라도 직접 써보고 시도하기 1)커뮤니케이션 규..