프로그래머스 - 배열 만들기 3, flatMap
·
Algorithm/programmers
배열 만들기 3을 쉽게 풀기 위해서는 flatMap을 사용할 수 있어야 합니다 map과 동일하게 특정 값을 배열로 반환해주지만 flatMap는 map과 동일하게 특정 값을 배열로 반환하지만 그 특정 값이 고차원 배열일 수 있습니다.flatMap을 사용하면 2차원 배열을 1차원 배열로 다시 매핑하여 반환받을 수도 있습니다. flatMap을 사용하지 않고 직접 배열에서 데이터를 추출하기 위해선 다음과 같을 수 있지만 절망편func solution(_ arr:[Int], _ intervals:[[Int]]) -> [Int] { var tmp: [Int] = [] for i in intervals { for j in i[0]...i[1] { tmp.append(arr[..
Swift - 백준 2606번
·
Algorithm/Baekjoon
바이러스 문제는 DFS 또는 BFS 를 사용하여 해결할 수 있습니다  DFS를 구현하기 위해서는 재귀함수를 구현해야 합니다. 이전에 값들을 저장하기 위해서 visited 배열을 만들었습니다. 예제 입력 1761 22 31 55 25 64 7 예제 출력 24 풀이풀이를 해보면 바이러스 노드를 직접 구해봅니다. 1: 2 52: 1 3 53: 24: 75: 1 2 66: 57: 4 DFS는 계속해서 파고파고 들어가는 것이기 때문에 1 -> 2 -> 3 -> 5 -> 6 이므로 1 컴퓨터는 총 4대의 컴퓨터를 감염시켰습니다.이제 위에 DFS를 직접 구현하여 해결하는 코드입니다.import Foundationlet n = Int(readLine()!)!let m = Int(readLine()!)!if m = 1 ..
Swift - 백준 1541번
·
Algorithm/Baekjoon
정규식을 사용하여 해결할 수 있습니다   정규식이란 "[+-]" 처럼 String의 특정 문자를 찾을 때 사용할 수 있도록 해주는 식이며 아래처럼 + 또는 - 를 찾았을 경우 해당 값을 찾을 대체하여 문제를 해결하였습니다.import Foundationlet input = readLine()!let regexPattern = "[+-]"let modifiedString = input.replacingOccurrences(of: regexPattern, with: " $0 ", options: .regularExpression)var result = modifiedString.split(separator: " ").map { String($0) }var minus = 0var plus = 0while !r..
프로그래머스 - x 사이의 개수
·
Algorithm/programmers
x 사이의 개수는 이전에 풀었던 split를 활용하는 방법을 알면 쉽게 사용할 수 있습니다 https://apple-document.tistory.com/273 에서 문제를 참고하여 해결하였습니다 omittingEmptySubsequences 란 비어있는 빈 값을 포함할지 안할지 여부를 나타내는 파라미터입니다.omitting은 생략한다는 의미이므로 만약 이 값을 false로 한다면 생략을 하지않고 true 면 생략을 한다는 의미입니다.func solution(_ myString:String) -> [Int] { return myString.split(separator: "x", omittingEmptySubsequences: false).map { String($0).count }}
프로그래머스 - 문자열 잘라서 정렬하기
·
Algorithm/programmers
절망편func solution(_ myString:String) -> [String] { var arr:[String] = [] var tmp = "" for i in myString { if i == "x" { if !tmp.isEmpty { arr.append(tmp) } tmp = "" } else { tmp += String(i) } } if !tmp.isEmpty { arr.append(tmp) } arr.sort() return arr} 희망편func solution(_ myString:String..
프로그래머스 - 배열의 유사도. feat. Set의 공집합 (intersection)
·
Algorithm/programmers
Set는 다른 Set와 비교하여 같은 값들만 다시 Set로 반환하는 intersection 메서드가 존재합니다 func solution(_ s1:[String], _ s2:[String]) -> Int { return Set(s1).intersection(Set(s2)).count}
ytw_developer
'Algorithm' 카테고리의 글 목록 (10 Page)