알고리즘/Programmers

프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ s:String) -> Bool { if s.count != 4, s.count != 6 { return false } else { return s.allSatisfy({ $0.isNumber }) } } 풀이 과정 문자열 길이가 4,6 && 오직 숫자로 구성되어 있는지 를 체크하는 문제이다 ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{ var usedMoney = 0 (1 ... count).map { usedMoney += price * $0 } if money - usedMoney > 0 { return 0 } else { return I..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12917 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 func solution(_ s:String) -> String { let result = String(s.sorted(by: >)) return result } 문제 풀이 정렬은 sorted로 하면 쉽게 가능하다 다만 배열 요소 타입이 character 일 경우 joined()을 할 수 없는데, 이럴때는 String으로 형변환 해주면 간단하게 합칠 수..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ left:Int, _ right:Int) -> Int { var value: Int = 0 for i in left ... right { var sqrtValue = sqrt(Double(i)).truncatingRemainder(dividingBy: 1.0) value += sqrtValue..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ a:[Int], _ b:[Int]) -> Int { let count: Int = a.count var value: Int = 0 for i in 0 ... count - 1 { value += a[i] * b[i] } return value } 풀이 과정 길이가 같은 1차원 정수 배열 a, ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12922 내가 제출한 풀이 func solution(_ n:Int) -> String { let value = String(repeating: "수박", count: n/2) return n % 2 != 0 ? "\(value)수" : value } 풀이 과정 길이 n이 주어졌을 때 "수박수박수..." 패턴을 유지하며 n만큼 문자열을 반환하는 문제이다. n == 2 -> 수박 n == 3 -> 수박수 n == 4 -> 수박수박 n == 5 -> 수박수박수 n == 13 -> 수박수박수박수박수박수박수 같은 문자열이 반복되므로 나는 init(repeating: count:) 를..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 func solution(_ s:String) -> String { let arr = Array(s) let count = s.count var result: String count % 2 != 0 ? (result = "\(arr[count/2])") : (result = "\(arr[count/2 - 1])\(arr[count/2])") return..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/86051?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation func solution(_ numbers:[Int]) -> Int { let standard = [1,2,3,4,5,6,7,8,9] var arr: [Int] = [] for i in standard { if numbers.contains(i) == false { arr.append(i) } } retur..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 func solution(_ phone_number:String) -> String { let openNumber = phone_number.suffix(4) var star = "" (phone_number.prefix(phone_number.count-4)).map { _ in star += "*" } return String("\(star)\(openNumbe..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var arr: [Int] = [] for i in 0...signs.count-1 { signs[i] == true ? arr.append(absolutes[i]) : arr.append(-absolutes[i]) } return..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12910 풀이 import Foundation func solution(_ arr:[Int], _ divisor:Int) -> [Int] { var value: [Int] = [] for i in arr { if i % divisor == 0 { value.append(i) } } return value.count == 0 ? [-1] : value.sorted() } 중요 개념 조건에 맞는 요소를 고르고, 정렬하는 문제이다 오름차순/내림차순 정렬할 수 있는 메서드 -> sorted(of:) sorted 를 사용하는 비슷한 문제 : https://yy-dev.tistory...
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12919 풀이 func solution(_ seoul:[String]) -> String { return String("김서방은 \(seoul.firstIndex(of: "Kim")!)에 있다") } 중요 개념 배열의 요소를 사용해서 인덱스를 구할 수 있는 메서드 -> firstIndex(of:) firstIndex(of:) -> 배열의 앞부터 순회하며 체크 lastIndex(of:) -> 배열의 뒤부터 순회하며 체크 https://developer.apple.com/documentation/swift/array/firstindex(of:) firstIndex(of:) | ..
YEN_
'알고리즘/Programmers' 카테고리의 글 목록 (2 Page)