👉🏻 24417번: 알고리즘 수업 - 피보나치 수 2mod = int(1e9) + 7n = int(input())ans = n-2prev, cur = 1, 1for _ in range(ans): nv = (prev + cur) % mod prev, cur = cur, nvprint(cur, ans)왜 이렇게 풀었을까?해당 문제는 제목만 봐도 파악할 수 있듯, 피보나치 수에 관한 내용을 다루고 있습니다. 피보나치 수를 알고리즘으로 구하기 위해서는 대표적으로 재귀, DP의 2가지 방법을 사용할 수 있는데, 문제에서는 두 개를 모두 요구하고 있습니다.fib(n) { if (n = 1 or n = 2) then return 1; # 코드1 else return (fib(n - 1..
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr-- 부서별로 부서 ID, 영문 부서명, 평균 연봉을 조회하는 SQL문-- 평균연봉은 소수점 첫째 자리에서 반올림하고 컬럼명은 AVG_SAL-- 결과는 부서별 평균 연봉을 기준으로 내림차순 정렬SELECT D.DEPT_ID, DEPT_NAME_EN, ROUND(AVG(SAL), 0) AS AVG_SALFROM HR_DEPARTMENT D JOIN HR_EMPLOYEES E ON D.DEPT_ID = E.DEPT_IDGROUP BY D.DEPT_IDORDER BY AVG_SAL DESC왜 이렇게 풀었을까?GROUP BY를 사용할 때에만 SELECT 구문에 MA..
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr-- 음식 종류별로 즐겨찾기 수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문-- 결과는 음식 종류를 기준으로 내림차순 정렬SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITESFROM REST_INFOWHERE (FOOD_TYPE, FAVORITES)IN ( SELECT FOOD_TYPE, MAX(FAVORITES) FROM REST_INFO GROUP BY FOOD_TYPE)ORDER BY FOOD_TYPE DESC왜 이렇게 풀었을까?GROUP BY를 사용할 때에만 SELE..
오늘은 Jupyter를 이용해 파이썬의 여러 가지 라이브러리(folium, tkinter)를 실습해 보았습니다. 💻 Jupyter Notebook어제 실습했던 공간인 Colab은 구글 서버에서 파이썬이 실행되는 환경입니다.오늘 실습을 진행하는 공간인 Jupyter는 로컬 PC에서 파이썬이 실행되는 환경입니다.이를 실행시키기 위해 Anaconda를 설치했고, Colab 환경에서 진행하지 않는 이유는 추후에 GUI 작업을 위해서입니다.추가적으로 설치된 Spyder는 python의 실제 개발 환경이 이루어지는 공간입니다.Jupyter을 실행하고 브라우저의 URL을 살펴보면,http://localhost:8888/notebooks/myworkspace/ 12%EC%9E%A5_(%EC%8B%A4%EC%8A%B5..
오늘은 파이썬의 전반적인 기초 지식들, 그리고 기초적인 데이터 분석 관련 실습을 진행하였습니다. 🐍 Python의 기초Python이든 다른 프로그래밍 언어에서든 배우기 전에 알고 있어야 할 중요한 요소들이 있습니다. ✨ 중요 요소들💡 변수하나의 값(단일 값)을 저장하는 것을 뜻하며, 변수에는 단일 값만이 들어갈 수 있습니다.이 변수들을 최대한 적게 써야 메모리를 최적화할 수 있습니다. 이를 잘 기억해서 추후에는 메모리의 효율성을 잘 고려하는 개발자가 되어야 하겠습니다.주로 외부 데이터(.csv, .xls, .spss, .db, .txt, .json 등)를 변수로 받아서 처리하게 됩니다.💡 조건문if라는 키워드를 통해 조건을 달아주는 요소입니다!if-else, if-elif-else 구조로 확장하여 ..
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr-- 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문-- 결과는 보호 시작일이 빠른 순으로 조회SELECT INS.ANIMAL_ID, INS.NAMEFROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_IDWHERE OUTS.DATETIME 왜 이렇게 풀었을까?JOIN을 활용한 간단한 문제였습니다. 먼저, 보호 시작일과 입양일이 서로 다른 테이블에 존재하기 때문에 두 테이블을 ANIMAL_ID 기준으로 JOIN(INNER JOIN)했습니다.이후 WHERE ..
오늘은 EC2 생성 실습 진행에 이어 보안 그룹에 대한 내용을 추가로 배웠고, AWS 주요 서비스 중 EBS와 ELB에 대한 이론 및 실습을 진행하였습니다. 🔒 보안 그룹보안 그룹의 의미는 말 그대로 보안을 위해 사용되는 개념입니다. 이 그룹은 하나 이상의 인스턴스에 대한 트래픽을 제어하는 가상의 방화벽 역할을 하는 친구들입니다.EC2를 생성할 때에 이 보안 그룹에 해당하는 규칙을 설정하면, 규칙에 따라 서버가 작동하는 원리입니다.이 보안 그룹의 작동 방식은 Inbound와 Outbound로 나누어지는데, Inbound 트래픽은 서버 입장에서 안으로 들어오는 트래픽을 의미하고, Outbound 트래픽은 서버의 밖으로 나가는 트래픽을 뜻합니다.위 이미지를 자세히 보시면 TCP에 관한 내용이 언급되어 있는..
이번 년도 상반기에 LG U+ Why Not SW Camp, 그중에서도 클라우드 기반 빅데이터 분석 및 서비스 개발 과정 5기에 지원하고 합격하게 되었습니다. 그리하여 해당 교육 과정을 따라가며 배운 내용을 정리하고 간단히 회고하는 글들을 적어보고자 합니다.그날그날 배운 내용들을 노션에 기록해 두고는 있지만, 매일같이 블로그에 옮기기가 쉽지 않을 것 같아 추후에는 주차별로 정리하여 회고를 만들어둘까 합니다.이번 주는 클라우드 기초 지식들과 AWS 내 서비스 활용 방법을 배울 예정이고, 오늘은 그 중에서도 클라우드 기초, 그리고 AWS의 주요 서비스 중 EC2에 대한 실습까지 진행 완료하였습니다. ☁️ 클라우드서비스에서 사용하는 DB의 메모리가 커짐에 따라 클라우드에 저장할 필요가 늘어나게 되었습니다.Na..