greedy 2

[프로그래머스] 탐욕법(Greedy) 큰 수 만들기 with Swift

안녕하세요. 오늘은 프로그래머스 큰 수 만들기 문제를 풀어보도록 하겠습니다. 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 우선 탐욕(greedy) 알고리즘에 대해서 알아보겠습니다. 탐욕 알고리즘은 순간순간에서 local한 최적값을 선택하여 global한 최적값을 도출해나가는 알고리즘입니다. 하지만 알고리즘 예시에서 보듯이 완전하게 정렬되지 않은 경우(Heap)에는 최적값을 못찾는 단점이 있습니다. 이제 문제를 풀어보겠습니다. 이 문제는 한 숫자씩 최대값을 찾아서 answer에 넣어주면 되는 문제입니다. 첫 탐색에서는 0 ~ K 번째 까지 탐색하고 최대값은 N1 번째자리수에서 찾았을경우 두번째 탐색에서는 N1 + 1 ~ K+1까지 탐색하고 최대값은 N2번 번째자리수에서 찾았을경우 세번..

[프로그래머스] 탐욕법(Greedy) 조이스틱 with Swift

안녕하세요. 오늘은 프로그래머스 조이스틱 문제를 풀어보겠습니다! 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 조이스틱 문제는 분류된 카테고리와 같이 탐욕알고리즘으로 문제를 해결하실 수 있습니다! 우선 알파벳과 알파벳간의 최소 이동거리를 구해줍니다! 삼항연산자를 이용해 최적값을 구해줍니다! for i in name.utf8 { count = Int(i)-Int(a.asciiValue!) count = count > 26-count ? 26-count : count makeNameCount..