프로그래머스 풀이 33

프로그래머스 숫자 문자열과 영단어(파이썬)

영단어 별로 딕셔너리로 값을 지정하고 주어진 문자열은 숫자, 3글자, 4글자, 5글자중 하나임으로 케이스를 나눠서 숫자로 바꿔준다. def solution(s): answer = 0 b=[] a = {"zero":0, "one": 1, "two": 2, "three": 3, "four": 4, "five":5, "six":6, "seven":7, \ "eight": 8, "nine": 9} #영단어 별로 숫자로 정리 while True: if s[:3] in a: #3글자일때 b.append(str(a[s[:3]])) #3글자에 해당하는 a값을 b에 추가 s=s[3:] #s는 3번째 이후부터 elif s[:4] in a: #4글자일때 b.append(str(a[s[:4]])) s=s[4:] elif s[..

프로그래머스 로또의 최고순위와 최저순위(파이썬)

순위를 배열에 정리하고 최대로 맞췄을 경우와 최소로 맞췄을 경우를 배열에 넣는다. def solution(lottos, win_nums): answer = [] Back = [6,6,5,4,3,2,1] #6등부터 1등까지 a=set(win_nums)-set(lottos) #동일한 번호를 빼줌 l = 6-len(a) #몇 개 번호가 일치하는지 x =l+lottos.count(0) #최대 당첨 if x>6: #6등일 때 x=6 m=Back[x] #최대 n=Back[l] #최소 answer.append(m) answer.append(n) return answer

프로그래머스 신고 결과 받기(파이썬 풀이)

프로그래머스에서 레벨1로 풀 수 있는 문제. 2022 kakao 블라인드 문제1번문제같은데 처음엔 막막했다. 다만 split()함수 잘 이용하면 크게 어렵진 않은 것 같다 def solution(id_list, report, k): report = set(list(report)) #report의 중복 없애줌 a= [] b=[] c=[] reported = [x.split()[1] for x in report] #리폿 당한 애들 for i,v in enumerate(id_list): if reported.count(v)>=k: #k번 이상 리폿 당했으면 a.append(v) #리폿 당한 사람이름 a에 저장 rar = [x.split() for x in report] #리폿한 사람과 당한 사람 for i i..