프로그래머스 - 치킨 쿠폰
·
Algorithm/programmers
치킨 쿠폰 문제에서 주의할 점은 쿠폰 10개로 치킨을 시켜먹어도 쿠폰 1개를 주는 것입니다  import Foundationfunc solution(_ chicken:Int) -> Int { var ch = chicken var cnt = 0 while ch >= 10 { cnt += ch/10 ch = (ch/10) + (ch%10) } return cnt}
프로그래머스 - 중복된 숫자 개수 filter, reduce
·
Algorithm/programmers
filter는 익숙한 문법입니다. '걸러내다' 라는 의미를 갖고 있으며 조건에 맞는 원하는 값을 걸러내는데 사용되며 아래처럼 사용됩니다.func solution(_ array:[Int], _ n:Int) -> Int { return array.filter { $0 == n }.count} reduce로 숫자 더하기let numbers = [1, 2, 3, 4, 5]이 배열의 모든 숫자를 더하고 싶다면 `reduce`를 이렇게 사용할 수 있습니다.let sum = numbers.reduce(0) { (결과, 숫자) in return 결과 + 숫자}- 0은 초기값 입니다.- `{ (결과, 숫자) in 결과 + 숫자 }`는 각 숫자를 어떻게 더할지를 설명하는 규칙 입니다.[1, 2, 3, 4, 5]..
프로그래머스 - 배열 만들기 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[..
프로그래머스 - 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/programmers' 카테고리의 글 목록 (9 Page)