본문 바로가기

완전탐색4

[Swift][프로그래머스][브루트포스] 괄호 변환 요구능력 재귀함수에 대한 이해 문제풀이 이 문제는 쪼개서 이해하면 이해가 잘되고 풀리게된다. 문제에서 주어진 절차를 무시할경우 삽질하게 되니 주의.. 1) 균형잡힌 괄호문자열 u와 v로 분류 균형잡힌 괄호문자열을 u와 v로 분류해준다. "("괄호의 개수는 leftCount, ")"괄호의 개수는 rightCount로 계산해주었다. leftCount와 rightCount가 같아지면 그건 균형잡힌 괄호문자열이 된다. func seperate(_ p: String) -> (String, String){ var leftCount = 0 var rightCount = 0 let pArr = Array(p) var u = "" var v = "" for i in 0.. String{ var result = "" if.. 2022. 5. 3.
[Swift][프로그래머스][완전탐색] 행렬 테두리 회전하기 요구능력 완전탐색 문제풀이 테두리만 회전시키면서 가장 작은값을 result에 저장해두고 회전을 마치면 answer에 하나씩 저장하였다. 후기 그냥 구현문제 코드 func solution(_ rows:Int, _ columns:Int, _ queries:[[Int]]) -> [Int] { var arr = [[Int]]() var count = 1 var answer = [Int]() for i in 0.. 2022. 4. 25.
[Swift][프로그래머스][완전탐색] 문자열 압축 요구능력 문자열 완전탐색 문제풀이 문제의 조건대로 문자열을 압축한다고 생각을 해보면 굳이 현재문자열의 절반을 넘는부분까지 개수를 해볼 필요가 없다. 예를들어서 abcabc가 있다. 이 문자열을 4개단위로 잘라서 압축하는게 의미가 없을것이다. 이 문제에서는 이런 그리디한 부분까지는 원하지 않은것같다. 절반이상까지 탐색해도 정답이니.. 거를방법이 없던걸수도..? 실제로 arr.count / 2 를 arr.count로 해도 정답이 나온다. 1개단위 ~ 문자열의 절반까지 압축을 할것이다. 그런데, 문제에서 적은 2a2ba3c와 같은 형태로 만들어야 result값을 리턴할 수 있겠다. 그럼 문자열을 저장하기위해 comp 프로퍼티를 하나 생성해준다. 그리고 2a2b와 같이 나타내려면 현재 내가 자르고있는 문자열이 .. 2022. 4. 21.
[Swift][프로그래머스][완전탐색] 모의고사 요구능력 완전탐색, 딕셔너리 문제풀이 문제를 보면 수포자의 명수와 수포자가 문제를 찍는 정답수를 가르쳐준다. 그래서 one, two, three로 반복되지 않는 정답을 적어줬고, dictionary를 활용해서 각자 정답을 얼마나 맞췄는지를 기록해줬다. index가 0부터 시작하니까 각자 개수에 따라서 나머지연산을 해준다면 아무리 answers의 수가 많아져도 계속해서 정답을 맞춰볼 수 있다. 예를들어서 1번 수포자(one)의 경우 [1, 2, 3, 4, 5] 총 5개라서 index는 0 ~ 4이다. 이걸 %5 해주게되면 index가 5일 때는 0이고 6 일 때는 1이된다. 이런식으로 계속해서 정답을 맞춰볼 수 있다. 그리고 이 dictionary의 value값들 중 최대값이 결국 가장 많이 맞힌 수 일 .. 2022. 4. 18.