[코딩테스트, Python] 프로그래머스 '소수 만들기' 문제 피드백
2022. 6. 25. 09:24
코딩테스트
2022.06.25 프로그래머스 '소수 만들기' 문제 피드백 1번째 시도: 성공 def solution(nums): nums_sum = [] for i in range(len(nums) - 2): for j in range(i + 1, len(nums) - 1): for k in range(j + 1, len(nums)): nums_sum.append(nums[i]+nums[j]+nums[k]) answer = 0 for i in nums_sum: check = 0 for j in range(2, i//2 + 1): if i % j == 0: check = 1 break if check == 0: answer += 1 return answer 성공은 했는데 실행 시간이 너무 길다. 모범 답안 (1) fr..
[코딩테스트, Python] 프로그래머스 '완주하지 못한 선수' 문제 피드백 (Feat. Hash Table)
2022. 6. 24. 17:00
코딩테스트
2022.06.24. 프로그래머스 '완주하지 못한 선수' 문제 피드백 (Feat. Hash Table) 1번째 시도: 시간 초과 def solution(participant, completion): for i in set(participant): if not participant.count(i) == completion.count(i): answer = i break return answer 최대한 간결하게 코드를 작성하였는데, 시간 초과가 되었다. 2번째 시도: 시간 초과 def solution(participant, completion): check = 0 if not set(participant) == set(completion): for i in set(participant): if i not i..
[코딩테스트, Python] 프로그래머스 '신규 아이디 추천' 문제 피드백
2022. 6. 24. 11:11
코딩테스트
2022.06.24. 프로그래머스 '신규 아이디 추천' 문제 피드백 1번째 시도: 성공 def solution(new_id): # 1단계 answer = new_id.lower() # 2단계 allowed = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '_', '.'] not_allowed = [] for i in set(answer): if i not in allowed: not_allowed.append(i) for..
[코딩테스트, Python] 프로그래머스 '신고 결과 받기' 문제 피드백
2022. 6. 23. 00:05
코딩테스트
2022.06.22. 프로그래머스 '신고 결과 받기' 문제 피드백 1번째 시도: 시간 초과 def solution(id_list, report, k): id_report = [] for i in id_list: reported = [] for j in report: j = j.split() if i == j[0]: if j[1] not in reported: reported.append(j[1]) id_report.append(reported) report_result = [] for i in id_list: report_num = 0 for j in id_report: for l in j: if i == l: report_num = report_num + 1 report_result.append(rep..
[코딩테스트, Python] 백준알고리즘 6~10단계 문제 피드백
2022. 6. 21. 19:47
코딩테스트
2022.06.21. 백준알고리즘 6~10단계 문제 피드백 (문제 - 단계별로 풀어보기 - 각 단계별 가장 정답 비율이 낮은 문제 풀기) 6단계 문제: 1157번. 단어 공부 A = input() B = {} for i in range(len(A)): X = A[i].upper() if X in B: B[X] = B[X] + 1 else: B[X] = 1 max_str = '' max = 0 for key, val in B.items(): if val > max: max_str = key max = val elif val == max: max_str = '?' print(max_str) 더 간단한 코드 (1) A, B = input().lower(), [] for i in range(97, 123): B..