Troubleshooting(11)
-
PYTHON: 알파벳 리스트, is의 개체식별 기능, 딕셔너리 활용 문제
01 알파벳으로 이루어진 리스트 생성하기문제 URL: 둘만의 암호 tip. chr()함수로 알파벳 리스트를 간단하게 생성한다.def solution(s, skip, index): # 1. 알파벳 리스트(a-z) 생성 search = [chr(i) for i in range(97, 123)] result = [] # 2. skip에 해당하는 알파벳 제거 for i in skip: if i in search: search.remove(i) # 3. 각 문자에 대해 새로운 문자 계산: 인덱스 갱신 for e in s: # % len(search)로 최대 인덱스 초과 처리 포함 new_index = (search.index..
2024.10.13 -
PYTHON: 시간 복잡도 측면에서 효율적인 코드 작성하기
01 시간 복잡도를 비교 점검하라.문제URL: 대충 만든 자판 문제 발견: target 단어에서 'AABB'와 같이 중복된 단어가 나오면 해당 과정을 반복하는 문제가 있음.해결 방법: targets리스트를 한번에 dict형식으로 정리해두면 중복단어에 대해 빨리 처리할 수 있음. 단, 입력 문자열의 길이와 호출 빈도에 따라 두 방법의 효율성이 달라질 수 있음. 짧은 문자열을 자주 사용하는 경우 첫 번째 방법이 유리할 수 있지만, 여러 번의 입력 문자열에 대해 반복적으로 조회해야 할 경우 두 번째 방법이 더 효율적일 것이라 생각되니 상황에 따라 판단한다. ▶ 코드를 완성했을 때 어떻게하면 불필요한 반복 = 중복 체크를 줄일 수 있을지 고민해보자. 02 인사이트1. 제너레이터 표현식을 정확히 알고 사용해야..
2024.10.03 -
PYTHON: count(), if not~, strip(), import Counter, extend, set
01 count 메서드로 특정 요소의 수 세기문제 URL: 로또의 최고 순위와 최저 순위 1. 최대로 정답을 맞췄을 때 등수, 최소로 정답을 맞췄을 때 등수를 출력해야 한다.2. (i in win_nums): 괄호(불리언)식을 활용해서 True를 1로 치환하여 계산함을 이번에 활용했다.3. count(0): 0이 몇개 있는지 계산한다.4. len(set(lottos)&set(win_nums)): set과 &로 중복제거와 교집합을 동시에 산출했다. (유용)5. get(same+zero): 난 인덱스로 value값을 불러왔고, 여긴 get으로 key에 해당하는 값을 불렀다. 02 공백화 시키고 strip()으로 공백을 제거하기문제 URL: 옹알이 (2) 1. 저번에 배운 items()를 활용해서 대치된 문..
2024.09.25 -
PYTHON: 리스트 컴프리헨션의 조건, map과 filter의 활용 예시
01 같은 로직을 활용하는 세 개의 변수 만들기answers = [1,2,3,4,5]a = [1,2,3,4,5] * 2000b = [2,1,2,3,2,4,2,5] * 1250c = [3,3,1,1,2,2,4,4,5,5] * 1000result = [0,0,0]for i,j in enumerate(answers): if a[i]==j: result[0] += 1 if b[i]==j: result[1] += 1 if c[i]==j: result[2] += 1max_result = max(result)[i+1 for i,j in enumerate(result) if j == max_result] 같은 로직을 사용하지만 각각의 변수에 새로운 값을 할당해야 할..
2024.09.12 -
PYTHON: 중복 제거, 문자 위치 찾기, 파생 변수 생성, map(str,변수)
01 간단한 중복 제거: set 1. set은 집합을 표현하는 파이썬 자료형이며 중괄호로 표현된다.2. 중복된 요소가 없으며 순서가 없기에 인덱스를 사용할 수 없다. 02 뒤에서 부터 문자의 위치 찾기: rfind rfind를 활용해서 뒤에서 몇 번째에 위치하는지 알 수 있는 방법은? 03 새로운 컬럼 만들기: pandas code모두의 연구소 파이썬을 활용한 데이터분석 스터디 학습 과정에서 사용한 코드인데 기록해둔다. 첫 번째, apply+lambda+get 메서드 활용 방법df['연령대'] = df['연령대코드'].apply(lambda x: age_code.get(x, '기타')) 1. apply() 메서드를 사용하여 연령대코드 열의 각 값에 대해 함수를 적용한다. 2. lambda x: age_..
2024.09.12 -
PYTHON: 소수 만들기 (라이브러리 활용, 비활용편)
01 문제 URL코딩테스트 연습 - 소수 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 02 작성 코드nums = [1,2,7,6,4]result = []import itertoolsanswer = [sum(i) for i in list(itertools.combinations(nums, 3))]print(answer) # output: [10, 9, 7, 14, 12, 11, 15, 13, 12, 17]for i in answer: yaksu = [e for e in range(2,i) if i%e == 0] if yaksu == []: result.append(i)print(result) # output: [7, 11, 13, 17]print(len(re..
2024.09.05 -
PYTHON: 딕셔너리의 활용편 dictionary.item()
01 문제(1) URL 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 02 코드 기록def solution(s): num = { "zero": "0", "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9"} for a, b in num.items(): s = s..
2024.08.12 -
PYTHON: 관광공모전 참여, 알쿼리즘 스터디 인사이트
01 소멸위험, 소멸우려 지역 데이터 클렌징💡tip 1. groupby와 size 메서드를 사용하면, 반환되는 객체는 시리즈(Series)이다. 이 시리즈는 각 그룹의 이름을 인덱스로 가지고, 각 그룹에 속하는 행의 개수를 값으로 가진다.💡tip 2. 이 시리즈 객체를 데이터프레임으로 변환하고 인덱스를 리셋하여 보기 좋게 만들려면 reset_index 메서드를 사용한다. 02 소멸 지역 시각화: 상호활동적이라는 뜻을 이해했다. 03 행렬의 덧셈 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krtip 1. list(zip(a,b)) zip객체 리스트화tip 2..
2024.07.25 -
[개인] cron을 이용한 스케줄링(3)
01 리눅스와 친해치기 복습 TIL 118일차 : 리눅스 명령어 공부, 특성컬럼값 검수✏️도전한 점 1. 9시까지 리눅스 명령어 공부 2. 9시~10시 경도, 위도로 행정동 코드 구하기 찾기 [보류] 3. 쿼리 내면서 내가 풀어봄. 4. 14시부터 리뷰텍스트 프롬프트 결과 검수하기 01 리눅스와specialda.tistory.com 02 자동화 학습 과정 트러블 슈팅1. 빅쿼리 데이터셋에 대한 액세스 권한이 없거나 데이터셋이 존재하지 않는 경우 403 에러 발생! 2. VM인스턴스 페이지에 들어가서 일단 렌탈한 컴퓨터를 "중지"시킨다. 그리고 "수정"에 들어간다. 3. 스크롤을 쭉 내리다보면 액세스 범위에 대한 내용이 접혀있을 것이다. 펼치고 전체를 허용한다. 4. (주의) 실습 스켈레톤 코드에서 프로..
2024.04.29 -
[개인] Google Clab → Google Bigquery 자동화 프로젝트(2)
01 Colab환경에서 KAMIS API을 활용하여 데이터를 가져온다.1. 파라미터 참고! request url도 해당 페이지에서 제공한다. 2. 2881개의 행을 가진 데이터셋을 가져올 수 있다.3. 전처리 과정으로 특수문자를 제거, 통합된 Date컬럼을 생성, 전체 데이터를 평균과 평년으로 나눈다.4. 두 가지 방법으로 sns을 활용하여 그래프를 만들어봤다. (우) 날짜를 유추하기 좋은 코드를 배웠다. 02 필요 모듈 설치, 연동 인증하기!pip install google-cloud-bigquery pandas google-auth google-auth-oauthlib google-auth-httplib2빅쿼리랑 코랩이랑 연결하려면 인증 절차를 거쳐야 한다. 아무나 접근하면 안되니까! 03 클라이언트..
2024.04.26