본문 바로가기

분류 전체보기218

[프로그래머스] 전화번호 목록 내가 짠 코드 def solution(phone_book): phone_book = list(map(int, phone_book)) phone_book.sort() phone_book = list(map(str, phone_book)) for idx in range(len(phone_book)-1): target = phone_book.pop(0) for number in phone_book: if number[:len(target)] == target: return False return True 문제점: 하나씩 줄어들기 때문에 어느정도 속도가 나오긴 하지만, 그럼에도 불구하고 불필요한 비교를 한다. O(n)의 반복 수행이랄까,,, 사실 n은 1씩 줄어들긴 하지만 어쨋거나 O(n)의 반복. 빠른 해결책.. 2021. 4. 26.
[프로그래머스] 모의고사 내 코드 def solution(answers): s1, s2, s3 = 0,0,0 n = len(answers) c = n//40+1 a1 = [1,2,3,4,5]*(8*c) a2 = [2,1,2,3,2,4,2,5]*(5*c) a3 = [3,3,1,1,2,2,4,4,5,5]*(4*c) for i in range(n): if answers[i] == a1[i]: s1 += 1 if answers[i] == a2[i]: s2 += 1 if answers[i] == a3[i]: s3 += 1 scores = [s1,s2,s3] m = max(scores) winners = [] for i in range(3): if scores[i] == m: winners.append(i+1) return winners .. 2021. 4. 25.
[프로그래머스] 완주하지 못한 선수 - 리스트 정렬, 해시 내가 짠 코드 def solution(participant, completion): if len(completion) == 0: return participant else: for c in completion: participant.remove(c) return participant[0] 나름 깔끔하다 생각했지만 for문으로 인해 효율성 점수가 0점이 나왔다... 리스트의 원소제거를 어떻게 하면 더 빨리 할 수 있을까? 어떻게 짜야 빨리 탐색할 수 있을까? 풀이방법들 1. collections 사용 from collections import Counter def solution(participant, completion): return list(Counter(participant) - Counter(co.. 2021. 4. 24.
빅데이터 분석기사 필기 후기(빅분기) 1과목 딱히 기억이 나진 않지만 그렇게 어렵진 않았다. 아무래도 총 4개의 과목 중 그나마 문과감성이라 괜찮았던 것 같다. 2,3 과목 혼동행렬 부분은 공부를 열심히 했기 때문에 이 부분은 괜찮았다. 하지만 최대 우도 함수 (세타, e), 기각역이 어쩌고, 카이 제곱 어쩌고 나오는 부분은 어려웠다. 아무래도 통계쪽 지식의 부족함을 많이 느꼈다. 확통, 수통 공부를 열심히 해야겠다. 4과목 무난했던 것 같다. (무난하게 망했다는 말) 나의 후회 1. 통계 공부나 하자(근데 벼락으로 될 건 아니었다) 2. 뭔 하둡 에코시스템 문제가 1도 없어 3. 문제집을 하나만 볼 생각을 하다니. 어리석다. 데이터산업진흥원에게 한마디 오타는 뭡니까 도대체. 이번에 1회 시험 취소되고 첫 시행인데 그 몇달동안 이런거 하나 .. 2021. 4. 17.