728x90 320x100 💻 하나씩 차곡차곡/프로그래머스 (Python)93 [프로그래머스/python/Lv1] [1차] 다트 게임 def solution(lottos, win_nums): answer = [] winNumCnt = 0 for i in lottos: for j in win_nums: if i == j : winNumCnt += 1 zeroCnt = 0 for i in lottos: if i == 0: zeroCnt += 1 print(winNumCnt, zeroCnt) totalCnt1 = winNumCnt + zeroCnt if totalCnt1 == 6: answer.append(1) elif totalCnt1 == 5: answer.append(2) elif totalCnt1 == 4: answer.append(3) elif totalCnt1 == 3: answer.append(4) elif totalCnt1 =.. 2023. 12. 25. [프로그래머스/python/Lv1] 다트 게임 def solution(dartResult): answer = 0 n = "" score = [] for i in dartResult: if i.isnumeric(): n += i elif i == "S": n = int(n)**1 score.append(n) n = "" elif i == "D": n = int(n)**2 score.append(n) n ="" elif i == "T": n = int(n)**3 score.append(n) n="" elif i == "*": if len(score) > 1: score[-2] = score[-2] * 2 score[-1] = score[-1] * 2 else: score[-1] = score[-1] * 2 elif i == '#': score[-1] =.. 2023. 12. 24. [프로그래머스/python/Lv1] 실패율 실패율 이란 이름 답게 실패를 많이 한 문제 .... def solution(N, stages): answer = [0 for i in range(N)] user = 0 failUser = 0 score = {} for i in range(len(answer)): for j in stages: if i+1 = j: failUser += 1 if user == 0: score[i+1] = 0 else : score[i+1] = failUser / user user = 0 failUser = 0 sorted_dict = dict(sorted(score.items(), key= lambda item:item[1], reverse=True)) return list(sorted_dict.keys()) 처음에 이렇.. 2023. 12. 23. [프로그래머스/python/Lv1] 소수 만들기 from itertools import combinations def solution(nums): answer = 0 numList = list(combinations(nums,3)) sosuCnt = 0 for i in numList: sumNum = sum(i) for j in range(1, sumNum+1): if sumNum % j == 0: sosuCnt += 1 if sosuCnt == 2: answer += 1 sosuCnt = 0 return answer 1. 중복이 불가능하고 순서가 있는 함수인 combinations를 사용하여 3가지 수의 리스트를 만들어 줌 2. 3가지의 합의 소수를 판별하고 소수인 경우 answer 의 카운트를 올려준다. 2023. 12. 23. [프로그래머스/python/Lv1] 두 개 뽑아서 더하기 일단 나의 풀이 def solution(numbers): answer = [] for i, v1 in enumerate(numbers): for j,v2 in enumerate(numbers): if i != j : answer.append(v1+v2) return list(set(sorted(answer))) 테스트 2개로는 통과인데 정확성 테스트에서 합격을 못받음.... (+) 다른 사람 풀이 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1, len(numbers)): answer.append(numbers[i] + numbers[j]) return sorted(list(set(answer))) en.. 2023. 12. 22. [프로그래머스/python/Lv1] [1차] 비밀지도 def solution(n, arr1, arr2): answer = [] for i in range(n): num = bin(arr1[i] | arr2[i]) num = num[2:].zfill(n) num = num.replace('1', '#').replace('0', ' ') answer.append(num) return answer 제대로 못풀어서 이해 가능한 다른분의 깔끔한 코드를 가지고 왔다. 1. n만큼 포문을 돌려주고 2. bin()함수를 사용해서 2진수로 변환해준다. 변환할 때 아예 두 리스트를 or 연산으로 맹글어 버림. 3. 2진수로 변환하면 앞에 '0b'가 무조건 붙는데 그래서 [:-2]로 '0b'를 잘라주고 이진수로 변환한게 '00001' 인경우 그냥 '1'로 변환되니까 앞에 0을.. 2023. 12. 21. 이전 1 2 3 4 5 6 7 8 ··· 16 다음 728x90 320x100