Python/코딩 테스트 13

list comprehension 리스트와 for문을 적게 사용하기

나의 못된 bad code X_train = [] text = list(df['특이사항list']) X_train = [mecab.nouns(text[i]) for i in range(len(text))] for i in range(len(text)): temp_X = [] temp_X = mecab.nouns(text[i]) # 토큰화, 명사만 가짐 X_train.append(temp_X) df["특이사항명사"] = X_train list comprehension을 만난 나의 이쁜 good code X_train = [mecab.nouns(df["특이사항list"][i]) for i in range(len(text))] df["특이사항명사"] = X_train 너무 단순해졌다. 이 모든 영광을 Data..

프로그래머스 lv1 파이썬 정답률 80% 이상

음양 더하기 def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): if signs[i] : #불리언이라서, 'false'가 아님 answer += absolutes[i] else: answer -= absolutes[i] return answer 핸드폰번호 가리기 리스트로 변경해서 풀라고 했는데 자꾸 안되었다. for문을 쓰는 것을 지양하고자 그저 구글링을 하였고 그 링크를 토대로 공부하겠다. 있는 값을 변경하려 했는데 그게 아니라 새로운 빈 깡통을 만들어서 넣는 것이건 같다. 내가 쓴 코드에서 자꾸 안되길래 확인을 위해서 print(list(phone_number)) 이걸 넣었더니 null이 떴다. 그것을 보고 아 이 코드..

프로그래머스 Lv 1 파이썬 콜라츠 추측 외 3문제

정수 제곱근 판별(88%) import math def solution(n): x = math.sqrt(n) if x % 1 == 0 : answer = (x+1)**2 else: answer = -1 return answer 자연수 뒤집어 배열로 만들기(88%) def solution(n): answer = list(str(n)) answer.reverse() return list(map(int, answer)) 문자열 내 p와 y의 개수 def solution(s): n = list(s) p = 0 y = 0 for i in range(len(n)): if 'p' in n[i] or 'P' in n[i]: p +=1 elif 'y' in n[i] or 'Y' in n[i]: y +=1 if p==y:..