본문 바로가기

전체 글73

프로그래머스 코딩테스트 | 2단계 올바른 괄호 (Stack 알고리즘으로 풀이하기) 한동안 코테를 잠시 안풀었더니 효율성 테스트를 통과하는데 조금 헤맸던 문제입니다..! Stack 알고리즘을 활용하지 않고 문제를 풀었을 때 테스트 케이스 정확성은 통과하는 데 문제가 없으나, 효율성 테스트를 통과하기 어려우실 수 있습니다. 효율성 테스트까지 통과할 수 있는 문제 풀이 방법을 알려드릴게요 :) https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 상황 : 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ').. 2024. 4. 23.
EDA | 서울특별시 공중화장실 02 _ 태블로를 이용해 시각화하기 지난 글에서 서울특별시 공중화장실 공중데이터를 판다스 데이터프레임으로 만들고 간단히 정제작업을 해 보았는데요. 정제한 데이터프레임을 가지고 태블로를 이용해서 아주 간단히만 시각화 작업을 진행해 보았습니다. 대시보드 구성 방법 서울시의 25개 구별 공중화장실 수 합계를 계산하여 그 수를 비교할 수 있도록 시각화했습니다. 대시보드의 왼쪽에는 지도를 배치하여 화장실의 수를 원의 크기와 색깔로 직관적으로 파악할 수 있도록 구성했습니다 지도를 확대하면 보이지 않는 레이블을 모두 확인할 수 있어요. 화장실 수가 많을수록 원의 크기가 큽니다. 화장실 수가 많을수록 원의 색깔이 진합니다. 대시보드의 오른쪽에는 가로막대그래프를 배치하여 수치별로 좀더 직관적인 비교가 가능하도록 구성했습니다. 오른쪽의 비교 파라미터를 이용.. 2024. 4. 17.
EDA | 서울특별시 공중화장실 01 _ pandas를 이용한 공공데이터 정제, 전처리하기 서울시 공중화장실 공공데이터를 가지고 아주 간단한 데이터 시각화, 분석 실습을 해 보려고 합니다. 먼저 이번 포스팅에는 파이썬 pandas 라이브러리를 이용해서 데이터 전처리 작업한 것을 간단히 정리해 보았습니다. 데이터 시각화, 분석은 태블로 프로그램을 이용하여 마친 뒤 다음 포스팅에 이어서 올리도록 하겠습니다. https://data.seoul.go.kr/dataList/OA-1370/S/1/datasetView.do 열린데이터광장 메인데이터분류,데이터검색,데이터활용data.seoul.go.kr 사용한 데이터 링크입니다. 1. pandas : 필요없는 컬럼 삭제, 인덱스 지정import pandas as pd t = pd.read_csv("toilet.csv", engine='python', enco.. 2024. 4. 16.
ASAC 빅데이터 & AI 5기 | 4주차 회고 벌써 4주 차 회고를 작성합니다. 4주차도 매일 1시간 30분 일찍 도착해서 아침공부를 하고, 9-6 수업을 듣고, 6-9 저녁공부를 하고 집에 갔습니다. 뿌듯합니다.  분명 첫주에 패딩을 입고 다녔었는데... 이 회고를 작성하고 있는 오늘(일요일)의 낮 최고 기온이 28도에 육박했습니다. 그래서 반팔 반바지를 입고 나가서 카공을 하고 왔어요. 후텁지근했지만 아직 습하지는 않아서 따뜻하고 공기가 바삭한 게 저는 참 좋았습니다. 매일 하는 게 공부밖에 없는 단조로운 일상을 보내다 보니, 이런 날씨 변화가 주변을 좀 더 돌아보고 한숨 돌리게 하는 것이 반가웠습니다.  이번 주에 처음으로 이력서라는 걸 작성했습니다. 임용고시에 합격한 교사는 교육청에서 알아서 발령을 내 주기 때문에 이력서나 자기소개서 같은 걸.. 2024. 4. 14.
웹크롤링 | 연금복권720+ 당첨 데이터 분석해보기 (파이썬 requests, BeautifulSoup)  파이썬 requests, BeautifulSoup 라이브러리를 이용한 웹크롤링 후 데이터분석 실습을 해보았습니다 :-) 연금복권720+은 제가 한달에 2-3회정도 꾸준하게 구매하는 최애 복권인데요. 슬프게도 지금까지 제대로 당첨된 적은 단 한번도 없지만, 앞으로도 저는 꾸준히 구매를 할 예정인 아주아주 매력적인 복권입니다. 1등에 당첨이 되면 (세전) 700만원을 매월 20년동안 수령할 수 있어요. 동행복권 온라인 사이트에서 간단히 온라인 구매를 할 수도 있구요. 1등 번호는 온라인 1명, 오프라인 1명 총 2명이 당첨될 수 있습니다. 자세한 복권 구조는 동행복권 홈페이지를 참고해 보시구요. 복권의 경우 통계를 공부해보신 분들께는 아주 친숙한 소재이실텐데요. (저는 아닙니다.ㅋㅋㅋ) 동행복권 사이트에.. 2024. 4. 13.
프로그래머스 코딩테스트 | 2단계 피보나치 수 문제풀이 (재귀함수 + 메모화로 효율성 올리기) https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 피보나치 수열 문제 풀이를 했습니다. 처음에 간단한 재귀함수를 적용해서 풀이를 했더니 테스트는 모두 통과하는데 효율성 테스트에서 시간 초과로 계속 실패를 하는 문제가 발생했습니다. 그래서 효율성을 올리기 위해 메모화를 적용해서 풀이를 했더니 효율성 테스트도 모두 통과할 수가 있었습니다 :-) 간단하게 풀이방법을 설명해 보겠습니다! 1. 메모화 없이 기본 피보나치 수열 함수 작성하기 def.. 2024. 4. 12.
오류 해결 | 주피터, 코랩 future warning 제거하기 (pandas, seaborn) FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead. with pd.option_context('mode.use_inf_as_na', True):  주피터 노트북이나 코랩에서 pandas, seaborn, matplotlib 등 라이브러리를 사용할 때 위와 같이 퓨처 워닝 어쩌구 하면서 경고 메세지가 나타나서 꼴보기 싫은 경우가 있습니다. 이럴 때 warning 라이브러리를 임포트하는 방식으로 간단하게 해결이 가능합니다. import warningswarnings.simplefilter(action='ig.. 2024. 4. 9.
python | numpy 라이브러리를 이용하여 최대공약수, 최소공배수 구하기 (gcd, lcm) 코딩테스트 문제를 해결할 때면 2개 이상의 정수의 최대공약수 또는 최소공배수를 구해야 하는 경우가 종종 있습니다. 파이썬에서 최대공약수와 최소공배수는 넘파이 라이브러리를 이용해서 아주 간단하게 구해낼 수 있는데요. 먼저 함수를 소개해 드리기 전에, 최대공약수와 최소공배수를 영어로 뭐라고 부르는지 알고 넘어갈게요. gcd : greatest common division (최대공약수) lcm : lowest common multiple (최소공배수) 이런 간단한 영어 정도는 숙지해 두시면 좀더 직관적으로 쉽게 프로그래밍하실 수 있어요 :-) [1] 최대공약수 구하기 import numpy as np 먼저 넘파이 라이브러리를 임포트해줍니다. np.gcd(12, 20) # 4 np.gcd(30, 45) # 15.. 2024. 4. 8.
python | 연속 공백 여러개 분리하기, split 함수 대신 정규식(re) 활용하기! 문자열을 분리하고 변형해야 하는 코딩 테스트 문제에서 공백 문자가 연속으로 나오는 경우가 많이 있습니다. 공백을 기준으로 문자열을 분리할 때 자연스럽게 split() 함수를 사용하게 되는데, 이 경우 연속 공백을 상실하게 되는 문제점이 발생합니다. 연속 공백을 유지하면서 문자열을 분리하여 리스트로 만들기 위해 정규식(regular expression)을 사용할 수 있습니다. https://school.programmers.co.kr/learn/courses/30/lessons/12951# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 Jade.. 2024. 4. 8.
MySQL | 비트 연산하기 &, NOT - 프로그래머스 코딩테스트 1단계 "특정 형질을 가지는 대장균 찾기" 문제풀이 프로그래머스에 비트 연산을 해야하는 MySQL문제가 종종 보이는데요. 정리해놓으면 좋을 것 같아서 문제 풀이를 한번 작성해 보겠습니다. https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 : 2번 형질을 보유하지 않으면서 1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하는 SQL 문을 작성해주세요. 1번과 3번 형질을 모두 보유하고 있는 경우도 1번이나 3번 형질을 보유하고 있는 경우에 포함합니다. [1] 2진법으로.. 2024. 4. 8.
MySQL | JOIN을 이용하여 차집합 구하기 - 프로그래머스 코딩테스트 3단계 "오랜 기간 보호한 동물(1)" 풀이 MySQL에서 JOIN을 이용하여 두 테이블 간의 정보를 조회할 때, 차집합(Set Difference)을 구해야 할 경우가 있습니다. 이럴 때 LEFT JOIN,RIGHT JOIN에 WHERE구문을 추가 활용하여 쉽게 표현해볼 수 있습니다. https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 관련 문제로 프로그래머스 MySQL 코딩테스트 3단계 문제 오랜 기간 보호한 동물(1) 풀이를 함께 첨부해 보겠습니다. 문제 상황 : 아직 입양을 못 간 동.. 2024. 4. 8.
ASAC 빅데이터 & AI 5기 | 3주차 회고 ASAC 빅데이터 분석 & AI 5기 과정 3주 차가 지났습니다.   집에서 편하게 쉬엄쉬엄 공부를 하다가 매일 강의실에 물리적으로 출퇴근을 하는 일이 쉬운 일은 아니었습니다만, 이쯤 되니 다행히도 몸이 잘 적응을 한 것 같습니다. 아무래도 지난 7년간 학교에 출퇴근하던 일에 비교하면 (비교할 수 없을 만큼) 훨씬 살만하네요. 학교에서 학생을 대하고 가르치는 일은 체력적, 정신적으로 굉장히 큰 에너지를 소모하는데요. 그에 비하면 지금은 그냥 방학 같아요. 내가 하고 싶은 공부를 원 없이 할 수 있는 환경과 자원이 지원된다는 게 감사할 따름입니다. 과정을 시작하면서 제 자신과 약속한 것이 한 가지 있어요. 바로 출퇴근하는 월요일부터 금요일까지는 반드시 아침에 일찍 일어나자는 것이었는데요. 저는 저에 대해서.. 2024. 4. 7.