순열 3

[프로그래머스] 위클리 챌린지 피로도 with Swift

안녕하세요. 오늘은 프로그래머스 피로도 문제를 풀어보겠습니다. 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 피로도 문제는 제약 조건에서 던전의 개수가 8개까지라고 하므로 완전 탐색을 하여도 시간이 초과되지 않습니다. 순서가 상관이 있으니 순열로 문제를 풀어 보도록 하겠습니다. 순열과 조합은 재귀를 이용해서 문제를 풀 수 있습니다. 재귀를 탈출조건은 모두 방문하였을때입니다. var isAllVisited = true for i in isVisited { if i == 0 { isAllVisited =..

[프로그래머스] 소수 찾기 with Swift

안녕하세요. 오늘은 프로그래머스 소수 찾기 문제를 풀어보겠습니다. 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 이 문제는 재귀를 이용한 완전탐색을 통해 소수판별 알고리즘을 적용하여 문제를 해결 하실 수 있습니다! 우선 순서가 상관없으니 순열을 적용해야합니다. 순열은 재귀의 for문에 0부터 시작하면 순열입니다! (순서가 상관있다면 이전 index를 가져와서 index+1부터 탐색하시면 됩니다.) 또한 모두 안뽑아도 되고 모두 뽑아도 되므로 해당 숫자가 들어가있을때 한번 안들어가있을때 한번 재..

[프로그래머스] 2020 카카오 인턴십 수식 최대화 with Swift

안녕하세요. 프로그래머스 2레벨 문제 수식 최대화 문제를 풀어보았습니다. 지난번에는 조합문제를 풀어보았던 기억이 있는데 이번엔 순열문제입니다! 조합과 순열은 순서가 상관있냐 없냐 차이이기 때문데 재귀에서 0부터 시작하냐 index부터 시작하냐만 다를 뿐 똑같습니다. 차후에 알고리즘으로 다루도록하겠습니다!(sort, dfs/bfs, 순열과 조합이 밀려있네요 허헣...) 1. 숫자와 연산자를 나눈다! 각각 배열에 담습니다! for character in expression { if let integer = Int(String(character)) { number = number * 10 + Int64(integer) } else { numbers.append(number) number = 0 operator..