
arr의 첫 번째 요소가 3이고 flag가 true이므로 3을 (3*2)번 추가한다. 그리고 arr의 두 번째 요소가 2이고 flag가 false이므로 존재하는 요소에 마지막에서 2번 삭제한다. 추가하는 건 어떻게든 했는데 마지막 원소 몇 개를 제거하는게 잘 안돼서 답답했다. 결국 찾아보니 삭제를 하지 않고 뒤에 몇 개만 빼고 앞에서부터 그냥 answer에 넣어주는 것이었다...!!! def solution(arr, flag): answer = [] for i in range(len(flag)): if flag[i] == True: #왜 if flag[i]: 이렇게만 해도 가능할까? answer.extend([arr[i]]*arr[i]*2) else: answer = answer[:-arr[i]] #마지..

count() 함수?메소드?를 사용하려고 했는데 중복하는 건 못세는지 입출력 예의 result가 2, 3인데 하나씩 적은 1, 2가 나왔다... 그래서 하나씩 비교를 해가면서 겹치는 부분이 있으면 1을 더해가면서 answer를 출력했다. def solution(myString, pat): answer = 0 for i in range(len(myString)-len(pat)+1): #이렇게 하면 pat길이로 한칸씩 움직이며 비교할 수 있다! if myString[i:i+len(pat)] == pat: answer += 1 return answer

비교만 하면 되는 문제라 쉽게 생각했다. 처음에 코드를 작성하고 제출을 했을 때, 몇개는 실패가 떠서 왜 그럴까 생각했다. 아마도 date2가 date1보다 앞설때의 조건을 안써준 것 같다. 써주자마자 바로 통과했다. def solution(date1, date2): answer = 0 [year1, month1, day1] = date1 [year2, month2, day2] = date2 if year1 year2: answer = 0 else : if month1 month2: answer = 0 else : if day1 < day2: answer = 1 return answe..