목록프로그래머스 문제기록 (22)
코딩 기록들

def solution(food): foodnum = [] foodsep = [] a=[] b=[] num = 1 food.remove(food[0]) for i in food: # 홀수로 준비한 음식을 짝수로 만들어준다 if i % 2 != 0: foodnum.append(i-1) else: foodnum.append(i) # foodnum = [2,4,6] for i in foodnum: # foodnum에 있는 값 = 인덱스값+1 만큼 의 음식 수 for i in range(i): foodsep.append(num) num += 1 # foodsep = [1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3] for i in range(0, len(foodsep), 2): # a, b 배열..

def solution(n, m, section): cnt = 1 # 페인트칠하는 횟수 paintstart = section[0] # 페인트칠 시작 위치-case1: paintstart= 2 for i in section: #[2,3,6] if paintstart + (m-1) < i: # 2+(4-1)

def solution(name, yearning, photo): result = [] # dict(zip(a,b)) -> 두 개의 서로 다른 리스트에서 하나를 key로 하고 다른 하나를 value로 해서 딕셔너리로 표현 name_score = dict(zip(name, yearning)) # 하나의 리스트씩 확인 for people in photo: photo_sum = 0 #하나의 리스트 안 한 사람씩 확인 for name in people: photo_sum += name_score.get(name, 0) # get(name, 0)에서 0은 디폴트값을 None대신 0으로 설정한것 result.append(photo_sum) return result

시간초과된 내가쓴 코드 def solution(progresses, speeds): answer = [] result = [] cnt = 1 for i in range(len(progresses)): answer.append((100-progresses[i])/speeds[i]) for i in range(len(answer)): if 0 0: maxnum = answer[0] for i in range(len(answer)): if i

접근방법 ( ( ( ) ) ) ( ) 1 2 3 2 1 0 1 0 -> true line3 : cnt라는 변수는 아래의 else문에서 쓰임. cnt값이 0으로 끝나야 True 반환, 아니라면 False line5 : ')'로 시작하면 무조건 false line7~ - 첫번째 for문 : i가 문자열s를 도는데, 인덱스 i+1 = '(' 이면 cnt 값 +1, 아니라면 -1 def solution(s): answer = True cnt = 1 if s[0] == ')': answer = False else: for i in range(len(s)-1): # (())() if cnt >= 0: if s[i+1] == '(': cnt += 1 else: cnt -= 1 if cnt == 0: answer = ..

def solution(arr): answer = [] answer.append(arr[0]) for i in range(len(arr)-1): if arr[i] != arr[i+1]: answer.append(arr[i+1]) return answer

def solution(answers): answer = [] score = [0,0,0] # score = [s1정답개수, s2정답개수, s3정답개수] s1 = [1,2,3,4,5] # 길이 = 5 s2 = [2,1,2,3,2,4,2,5] # 길이 = 8 s3 = [3,3,1,1,2,2,4,4,5,5] # 길이 = 10 for i in range(len(answers)): if answers[i] == s1[i%5]: # answer의 i인덱스값 = s1의 i인덱스값이 같다면, 즉 정답이라면 score[0] += 1 # score 값, 즉 정답개수 +1 if answers[i] == s2[i%8]: score[1] += 1 if answers[i] == s3[i%10]: score[2] += 1 # e..

내가쓴 풀이) def solution(sizes): answer = 0 # 1) sizes 안의 각 배열 마다 인덱스값을 정렬한다 (내부리스트안에서 정렬) for i in range(len(sizes)): sizes[i] = sorted(sizes[i]) # 2) sizes 안의 배열을 하나씩 비교해서 제일 큰값을 return(리스트간 정렬) sizes = sorted(sizes) # 3) sizes 배열들의 인덱스 0, 인덱스1의 최댓값을 구해서 곱하기 answer = max(r[0] for r in sizes) * max(r[1] for r in sizes) # 리스트 각 열에서 최댓값 구하기 return answer 참고한 풀이) def solution(sizes): row = 0 col = 0 f..