오답
-
카카오_프로그래머스_양궁대회 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_130.Surrounded Region Swift알고리즘/알고리즘 문제풀이 2022. 1. 25. 15:58
https://leetcode.com/problems/surrounded-regions/ 문제 접근 "O"를 queue에 추가 큐의 좌표값이 "Y"인지 확인. (추후 로직에서 방문했던 좌표는 Y로 변환하기 때문) searchGroup수행 -> 방문한 좌표를 "Y"로 바꾸고, Set형태로 인접한"O"의 좌표Collection을 반환 반환된 좌표 collection의 각 좌표에 대하여, boardEdge인지 검사 ( 해당 문제에서 뒤집히는 경우는 4면이 X인 경우인데, boardEdge에 있는 좌표는 한 면이 X가 아니므로 뒤집히지 않는다, 이는 여러개가 묶인 경우에도 동일) boardEdge와 무관할 경우, 해당 그룹의 좌표들을 전부 X로 변환 boardEdge에 있는 경우, undoList에 추가하여, ..
-
행렬_LeetCode_542 01matrix알고리즘/알고리즘 문제풀이 2022. 1. 24. 17:03
https://leetcode.com/problems/01-matrix/ 오답 testCase 49/50에서 막힌다. 정말 획기적인 방법을 사용하지 않는이상 통과가 힘든듯 ㅠㅠㅠ 더보기 더보기 func updateMatrix(_ mat: [[Int]]) -> [[Int]] { var sol = [[Int]].init(repeating: [Int].init(repeating: -1, count: mat[0].count), count: mat.count) var queue = [[Int]]() let emptyRow = [Bool].init(repeating: false, count: mat[0].count) var visited = [[Bool]].init(repeating: emptyRow, count:..
-
?_백준_2606 swift알고리즘/알고리즘 문제풀이 2022. 1. 18. 15:21
https://www.acmicpc.net/problem/2606 실패 사유 : 메모리 초과 map이란 Dict의 value가 [Int]이기 때문인 것으로 추정 더보기 let count = Int(readLine()!)! let connection = Int(readLine()!)! var inputList = [[Int]]() for _ in 0.. Int { mapping(list: list) let filtered = list.filter({ $0[0] == 1 }) for rep in filtered { infection += 1 stack.append(rep[1]) } while !stack.isEmpty { if stack.isEmpty { break } let rep = stack.remov..
-
문자열, 재귀_백준_2800 swift알고리즘/알고리즘 문제풀이 2022. 1. 18. 14:06
https://www.acmicpc.net/problem/2800 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 문제 접근 입력받은 input에서 괄호 쌍의 인덱스를 저장 input을 임시변수 temp에 저장하여, 괄호 쌍을 공백문자로, Set sol에 insert하는 반복문 반복문 내부에서 temp를 재귀, 결과를 sol = sol.union(재귀 return값) sol은 Set이기에, 중복이 제거 될 것 return받은 Set의 element인 String의 공백을 제거한..
-
수학_백준_2436알고리즘/알고리즘 문제풀이 2021. 11. 18. 20:39
https://www.acmicpc.net/submit/2436/35551075 접근 방법 1. divided = LCM / GCD 한다. 이 값은 LCM에서 GCD를 제외한 것. 2. divided를 sqrt하여 Array(1...sqrt). 이는 약수쌍을 구하기 쉽게 하기 위한 것. 3. 약수쌍 ( Ex. divided == 38의 경우, Int(sqrt)할 경우 6, 1...6중 [1,2] 이를 각각 divided에 나누면 [[1,38],[2,19]] 4. 모든 element에 GCD를 곱하고 합이 min인 것을 return 실패 코드 더보기 import Foundation let line = readLine()!.components(separatedBy: " ") let GCD = Int(line..
-
DFS/BFS_프로그래머스_네트워크알고리즘/알고리즘 문제풀이 2021. 9. 14. 19:39
https://programmers.co.kr/learn/courses/30/lessons/43162 접근 방법 computers를 분석 -> connection = n번 컴퓨터: n번 컴퓨터가 연결된 컴퓨터들 재귀를 사용하여 방문한 컴퓨터의 수를 세어 리턴 은 문제 이해를 잘못하고 푼 것. 문제를 대충 읽는 버릇을 고쳐야한다... 문제는 연결된 컴퓨터의 그룹을 세는 것. computers를 분석 -> connection = n번 컴퓨터: n번 컴퓨터가 연결된 컴퓨터들 재귀를 사용하여 0번 컴퓨터의 네트워크 탐색 -> return history 하여 연결된 컴퓨터들을 확인 connection의 key 중 history와 중복되는 key를 제외한 first를 다시 recursion 하여 key가 남지 않을..
-
순열_LeetCode_permutation-in-string알고리즘/알고리즘 문제풀이 2021. 9. 8. 17:52
https://leetcode.com/problems/permutation-in-string/submissions/ Permutation in String - 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. s1의 순열을 Set으로 준비. 2. 준비된 Set의 element가 s2에 포함되었는지 확인. 실패 코드 실패 사유 : Time Limit Exceeded 개선 방법 : 순열 코드의 개선? 더보기 class Solution { func che..