완전탐색
-
완전탐색_Programmgers_소수 찾기 [swift]알고리즘/알고리즘 문제풀이 2025. 2. 12. 18:32
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근방법주어진 입력String을 [Int]로 변환만들 수 있는 모든 경우의 수를 전부 생성모든 경우의 수 각각에 대하여 2~자기자신 까지 나머지 연산(%)을 수행.반복 중 나머지 연산 결과 값이 0 이 아니었고, 자기자신을 나눌 차례가 되면 소수로 판별정답코드더보기import Foundationfunc recursive(targetLength: Int, currentSelection: [Int], rests: [Int]) -> Set { ..
-
카카오_프로그래머스_양궁대회 swift알고리즘/알고리즘 문제풀이 2022. 2. 28. 17:28
https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 접근 방법 dfs를 사용해서 라이언이 이기거나 지는 모든 경우의 수를 끌어모은다..! 이 때, 어피치보다 점수가 낮은 경우 제외 끌어 모은 점수 중 라이언의 점수가 max인 경우를 모두 수집한다. 작은 점수가 많은 경우 순으로 정렬한다. 오답 코드 더보기 import Foundation func sumScore(scores: [Int]) -> Int { var sum..
-
완전탐색_Leetcode_Container With Most Water알고리즘/알고리즘 문제풀이 2021. 8. 17. 19:22
https://leetcode.com/problems/container-with-most-water/ Container With Most Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 접근 방법 1. 2차원적으로 기둥 간 거리, 두 기둥 중 낮은 기둥의 높이를 곱해 면적을 구함. 2. enumerated()를 사용해 같은 인덱스는 검사하지 않음. 3. 모든 경우의 수를 전부 확인 4. max와 대소비교 하여 더 큰값을 amx에 저장, 및 retur..
-
완전탐색_프로그래머스_카펫알고리즘/알고리즘 문제풀이 2021. 7. 22. 17:12
https://programmers.co.kr/learn/courses/30/lessons/42842 문제 접근 1. sum = brown + yellow의 약수 중 두 약수를 곱해서 sum이 나오는 set을 찾는다. 2. set을 완전탐색하여 조건에 맞는 카펫matrix를 찾는다. 이 때 약수 또한 완전 탐색으로 찾을 수 있으나, 효율을 고려하여 약수를 찾는 알고리즘을 변경해서 진행했다. 서칭 결과 제곱근의 약수를 찾으면 된다고,,, sum/제곱근의 약수 == 매칭되는 약수 코드 더보기 class carpet { func solution(_ brown:Int, _ yellow:Int) -> [Int] { let sum = brown + yellow let divisor = getDivisor(num: ..
-
완전탐색_LeetCode_ContainsDuplicate알고리즘/알고리즘 문제풀이 2021. 7. 8. 16:37
배열 내 같은 원소 유무를 확인하는 문제. 링크 처음엔 배열 내 원소를 제거해가며 전체 탐색을 진행했으나, timeOut에 걸려버림... testCase 중 [0,0,1,2,3 ....... 9999], [0,1,2 ....... 9999,9999] 같은 애들이 있더라... class Solution { func containsDuplicate(_ nums: [Int]) -> Bool { var checkingArray = nums[nums.indices] var sol = false while checkingArray.isEmpty != true { let check = checkingArray.popFirst() if checkingArray.contains(check!) { sol = true br..