본문 바로가기

All posts123

[프로그래머스] 스택/큐(Stack/Queue): 기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 - 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. - 작업 진도는 100 미만의 자연수입니다. - 작업 속도는 100.. 2021. 5. 7.
[Anaconda] 맥(Mac) 터미널에서 아나콘다 설치하기 최근에 파이썬 라이브러리 이것저것으로 실험을 하다가 결국 콘다 환경 내에서 잦은 충돌이 발생하기 시작했다. 문제를 해결하기 위해 터미널을 만져보다가 결국 conda PATH 설정도 변경해 conda, pip 명령어들조차 실행이 안 되기에 이르렀다. 고민하다가 삭제 후 재설치를 하는 것이 가장 낫겠다 싶어 다시 설치를 하게 되었다. 터미널에서 아나콘다를 삭제하는 방법은 간단하다. 터미널 창을 연 후 anaconda3 폴더가 있는 경로를 찾아 들어가 지워주면 된다. 나의 경우 경로가 `~/Users//` 로 되어있었기 때문에 먼저이 폴더를 삭제해주는 작업부터 시작했다. 주의할 점이 몇 가지 있는데, 1. 일반 사용자 권한으로 폴더를 삭제할 경우 권한이 없어 명령이 실행되지 않을 수 있다. 이 경우 명령어 앞.. 2021. 4. 19.
[Insights] 메타버스로 그려보는 미래 스티브 잡스가 아이폰을 발표한 날 이후로 글로벌 전자산업이 완전히 뒤바뀌었듯, 기술이 바뀌면 미래가 달라진다. 21세기에 들어서며 매해, 또는 매 분기마다 미래에 대한 청사진이 달라지는데, 그만큼 기술 발전의 속도가 가속되었기 때문이기도 하다. 최근 '새로운 청사진'을 그리며 화두에 오르고 있는 가장 큰 키워드는 바로 메타버스이지 않을까 싶다. 물론 비트코인, NFT, AI 등 여러 기술이 발점됨에 따라 함꼐 화두에 올랐다는 점 역시 주목해볼만 하다. 메타버스란? 메타 (초월적인) + (유니) 버스 의 합성어로, 현실과 가상현실이 공존하는 세계를 의미한다. 쉽게 생각하면 영화 아바타, 매트릭스 속 세계관을 연상할 수 있으며, 네이버의 제페토나 닌텐도 동물의 숲도 다 메타버스의 한 종류로 분류된다. 위에 .. 2021. 4. 5.
[Insights] 2021 프로그래머스 개발자 설문조사 리포트 프로그래머스에서 2020년 12월 한 달간 현직 개발자 + 개발자 지망생 약 5000여명을 대상으로 설문을 진행했다고 한다. 처음에는 대강 훝어보았는데 깊이 있게 살펴볼수록 흥미로운 내용이 많아, 설문 결과를 살펴보며 떠오르는 개발 초심자의 생각들을 기록해본다. 1. "평균 연봉과 자신있는 언어" 항목의 오류 (자신있는 언어가 곧 현재 실무에서 쓰고 있는 언어라는 가정 하에 데이터를 살펴보자) 학부 때 잠깐 통계를 공부하고, 졸업 후 데이터분석을 잠깐 공부한 경험을 통해 잘 학습한 것이 있다면 "보이는 데이터와 통계를 늘 의심하는 자세" 이다. 흔히 수치로 표현된 자료는 신빙성이 높아보이는 효과를 불러오지만, 이러한 자료의 허점은 개인의 주관에 따라 얼마든지 원하는 결과에 부합하도록 표현되었을 경우가 농.. 2021. 4. 4.
[백준] 1003번: 피보나치 함수 최근에 백준에 출제된 문제들을 풀기 시작했다. 백준에서 두 번째로 푼 문제는 피보나치 함수였는데, 해당 문제를 푸는 과정에서 배운 점들이 몇 가지 있어 기록차 남겨두고자 한다. 문제의 지문은 다음과 같았다. 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출.. 2021. 3. 11.
[Github] 깃허브(Github) 프로필 꾸미기 간혹 파이썬 프로젝트를 위해 구경차 깃허브를 둘러보다보면 프로필 메인 페이지를 기상천외한 방법으로 꾸며놓으신 분들을 종종 보게 된다. 나는 아직 레포는 많이 없지만 꾸며두면 나중에 시간 내어 수고할 일이 없을 것 같아 미리 이것저것 알아본 뒤 깃헙 프로필을 간단히 꾸며보았다. 우선 깃헙 프로필용 리드미를 만드는 방법은 간단하다. 새로운 Repository 를 생성해, 본인의 계정명과 동일한 이름으로 된 Repository 를 만들어주면 된다. 그럼 밑에 "해당 레포지토리는 프로필에 추가할 수 있는 특별한 레포지토리입니다"라는 문구가 뜬다. (해당 내용은 깃허브 공식문서에 자세하게 나와 있기도 하니 참고 바란다.) 프로필 소개용 레포이기 때문에 공개 설정을 해 두고, 'Add a README file' 옵.. 2021. 3. 9.
[인공지능 통합과정] 6주차 : 타이타닉 실습 (미니프로젝트 2) # 머신러닝 프로젝트의 교과서, 타이타닉 6주차 (사실 5주차 마지막 날 + 6주차 첫 날) 에는 머신러닝을 배우는 사람이라면 누구나 입문하게 되는 '캐글 타이타닉 프로젝트' 를 진행하게 되었다. (캐글 데이터셋: www.kaggle.com/c/titanic) Titanic - Machine Learning from Disaster Start here! Predict survival on the Titanic and get familiar with ML basics www.kaggle.com 이틀이라는 짧은 시간 동안 진행되었기에, '프로젝트'라고 부르기엔 약간의 어폐가 있는 것 같고 '실습활동' 정도가 적당한 것 같다. 본 실습의 목적은 정형데이터셋을 활용하여 일주일 간 배운 머신러닝 이론들을 코드로 .. 2021. 3. 8.
[인공지능 통합과정] 5주차 : SQL, 머신러닝 # SQL, 데이터베이스의 초입 첫 번째 세미프로젝트가 끝난 뒤, 잠시 쉬는 차원에서 이틀간 DB (Database) 이론과 SQL 기초 문법을 배웠다. 이론적인 내용에 깊이 들어가지 않았는데, 다뤘던 내용의 핵심을 나열하면 다음과 같다. DBMS (Database Management System) 의 개념과 유형 데이터모델링 3단계와 단계별 세부내용 (개념적, 논리적, 물리적 모델링) SQL 과 데이터 언어 (DDL, DML, DCL) SQL 과 NoSQL 이론적인 내용은 블로그에 추후 보완할 내용이거나 잘 설명되어 있는 다른 출처가 많으므로, SQL 학습 과정과 이에 대해 느낀 점 위주로 작성해보고자 한다. 우리는 SQL 기반 RDBMS 중 SQLite 로 실습을 진행했다. DB 를 본격적으로 다루기.. 2021. 2. 13.
[인공지능 통합과정] 4주차: 세미프로젝트1 # 데이터 전처리의 늪 지난 글에 이어 세미프로젝트 1의 후기를 작성해본다. 우선 세미프로젝트1을 통해 가장 크게 배운 점을 요약하자면: !! 데이터 전처리는 데이터 분석의 핵심이다 !! 사실 이 당시, 데이터 전처리... 라고 하기에도 부끄러운 작업을 너무 오래 했었다. 지금 생각해보면 별 것도 아닌 일들에 쩔쩔매고, 어려워했다. 원인을 분석해보면, 팀원 전원이 pandas 에 익숙하지 않았음 -> 단순한 작업 하나도 구글링하거나 수업 자료 뒤적이느라 오래걸림 데이터 선정의 미스 -> 공공데이터 한두개 정도 선정해서 작업했어야 하는데 취합할 데이터가 5-6개로 늘어남 그도 그럴 것이, 우리 조의 주제는 '서울시 어린이 교통사고 발생 지역 분석' 이었는데, 우리가 다뤘던 공공데이터만 해도 10가지가 넘었.. 2021. 2. 9.