크레인 인형뽑기 게임 : 코딩테스트 연습 / Python / Programmers / Level1
크레인 인형뽑기 게임 문제는 제목 링크에서 확인이 가능하며, 입출력의 예시는 아래와 같다. #Input board = [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] moves = [1,5,3,5,1,2,1,4] #Output (사라진 인형 개수) 4 #7개 뽑았으니까 5개 찰 때 2개 다시 5개 찰 때 2개사 사라져서 4개가 사라짐 Solution: def solution(boards, moves): #1번일경우 배열에서 0번에 접근하므로 -1씩 한다 moves = list(map(lambda mv : mv -1, moves)) stack = [0] #0을 안 넣을 경우 IndexError cnt = 0 for i in moves: #mov..
2020. 10. 21.
[1차] 비밀지도 : 코딩테스트 연습 / Python / Programmers / Level1
[1차] 비밀지도 문제는 위의 링크에서 확인이 가능하며, 입출력의 예시는 아래와 같다. Example1: #Input : n(변의 크기), arr1(지도1), arr2(지도2) n = 5 arr1 = [9, 20, 28, 18, 11] arr2 = [30, 1, 21, 17, 28] #Output ["#####","# # #", "### #", "# ##", "#####"] Example2: #Input n = 6 arr1 = [46, 33, 33 ,22, 31, 50] arr2 = [27 ,56, 19, 14, 14, 10] #Output ["######", "### #", "## ##", " #### ", " #####", "### # "] Solution def solution(n, arr1, ar..
2020. 10. 9.
[자료구조] 합병정렬(Merge Sort) - C언어
#합병정렬 - Merge sort는 분할정복법을 사용하여 정렬하는 알고리즘이다. - 분할 단계: 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 - 정복 단계: 각각의 작은 문제들을 순환적으로 해결 - 합병 단계: 작은 문제들의 해를 합하여(merge) 원해 문제에 대한 해를 구함 #Pseudo code function mergeSort(list, left, right) middle = (left+right) / 2 #l과 r의 중간 지점 계산 mergeSort(list, left, mid) #전반부 정렬 mergeSort(list, mid+1, right) #후반부 정렬 merge(list, left, mid, right) #합병 #시간 복잡도 - 데이터 크기가 n 일때, mergeSort 는..
2020. 10. 4.