본문 바로가기
728x90

python10

데이터 전처리 (Data Cleaning) - python 결측치(Missing Data) #결측치 확인 방법 data.isnull().sum() 결측치 처리 방법 임의의 값 지정 최빈값 등으로 대체한다. 다른 데이터를 이용해 예측값으로 대체할 수 있다. 시계열 특성을 가진 데이터의 경우 앞뒤 데이터를 통해 결측치를 대체할 수 있다. 중복된 데이터 제거 data.drop_duplicates(inplace=True) 원-핫 인코딩(One-Hot Encoding) 문자열 형태의 값 N개를 컬럼으로 변경시킴 (ex 성별: 남, 여 -> 남자 : 0,1 여자: 1,0) # 문자열형태의 카테고리 0/1 cloums로 변경 data = pd.get_dummies(data, columns=['sex', 'smoker', 'day', 'time']) 이상치(Outlier) 측.. 2023. 3. 6.
[코딩테스트 고득점 Kit] 해시 5 - 베스트앨범 코딩테스트 연습 - 베스트앨범 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 역시나 HashMap을 이용하여 푸는 문제 HashMap을 하나만 쓰고도 해결할수 있겠지만 그렇게 되면 코드봤을때 깔끔하고 명쾌한 느낌은 아닐것 같아서 HashMap 여러개를 사용하기로 한다. 장르1순위 HashMap : (key) 장르이름 + 1 — (value) [노래순번, 재생횟수] 장르2순위 HashMap : (key) 장르이름 + 2 — (value) [노래순번, 재생횟수] 장르노래재생 HashMap : (key) 장르이름 — (value)장르노래재생수 알고리즘은 대략 .. 2023. 1. 7.
[코딩테스트 고득점 Kit] 해시 4 - 위장 코딩테스트 연습 - 위장 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제의 핵심은 HashMap인 것 같은데… 조합 아이디어 생각하는게 조금 더 어려웠다. 조합이라기보다는 부분집합 이라는 개념으로 생각해야 쉬운데 의상을 안 입는 선택지를 추가하면 경우의 수처럼 종류별 옷을 다 곱해서 쉽게 구할 수 있다. 그리고 마지막으로 공집합 하나를 빼주면 끝 Java - HashMap 사용 import java.util.*; class Solution { public int solution(String[][] clothes) { // map (의상종류 - 개수.. 2023. 1. 5.
[코딩테스트 고득점 Kit] 해시 3 - 전화번호 목록 코딩테스트 연습 - 전화번호 목록 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제의 핵심은 접두사인데 정렬을 한뒤 비교하면 쉽게 풀수있다. 다른방법으로 풀어보고 싶었는데 마땅히 좋은 아이디어가 생각 안나서 둘다 동일한 방식으로 풀었다. java import java.util.*; class Solution { public boolean solution(String[] phone_book) { //정렬 Arrays.sort(phone_book); for( int i=1; i 2023. 1. 4.
[코딩테스트 고득점 Kit] 해시 2 - 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제의 핵심은 배열의 중복제거이다. Hash 카테고리 이므로 HashSet을 이용하여 풀어보기로 한다. JAVA import java.util.*; class Solution { public int solution(int[] nums) { // int to Integer Integer[] IntegerNums = Arrays.stream(nums).boxed().toArray(Integer[]::n.. 2023. 1. 3.
2020 KAKAO BLIND RECRUITMENT 괄호 변환 Python 문제에 쓰여진 설명대로 그대로 코딩했다. def rightWord(w): store = 0 for i in w : if i == ')': store -= 1 else : store += 1 if store < 0: return False return True def run(w): # 2. U / V 분리 u = '' v = '' r = l = 0 for i, v in enumerate(w) : if v == '(': r += 1 else : l += 1 if r == l : u = w[:i+1] v = w[i+1:] break if w == '': return '' # 3. 올바른 괄호 문자열 인지 check if(rightWord(u)): # 3-1. 올바른 괄호면 그대로 추가 return u + ru.. 2020. 11. 28.
728x90