분류 전체보기
Swift. 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 풀이. let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! } let (a, b) = (n[0], n[1]) var star = String(repeating:"*", count: a) var space = String(repeating:"\(star)\n", count: b) print(space) 프로그래머스에서 자주나오지 않는 입력을 받는 문제여서 잠깐 헷갈렷지만 어렵지 않게 해결했습니다
Swift. 예산
문제. S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 제한사항 d는 부서별로 신청한 금액..
Swift. 내적
문제. 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 풀이. // 나의풀이 func solution(_ a:[Int], _ b:[Int]) -> Int { var result = 0 for i in 0.. Int { var b = b return a.map{ $0 * b.removeFirst()}.reduce(0,+) } ㅠ.ㅠ 번호가 하나로 나오는 문제..
Swift. x만큼 간격이 있는 n개의 숫자
문제. 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 풀이. // 나의 풀이 func solution(_ x:Int, _ n:Int) -> [Int64] { var result: [Int64] = [] for index in 1...n { result.append(Int64(index * x)) } return result } // 인상깊은 풀이 func solution(_ x:Int, _ n:Int) -> [Int64] { re..
iOS. Delegate, Protocol 이란 무엇인가.
Delegate? Protocol? 도대체 이게 무슨말이야... 라고 생각하시고 들어오셨다면 잘들어 오신겁니다... ㅋㅋ 저도 약 두달간 공부하면서 도대체 델리게이트 패턴? 프로토콜?아니 이게 무슨 소리야 도대체... 라고 생각했거든요.제가 2달간 여타 다른 강좌나 유튜브를 공부하면서 수없이 등장하는 이패턴. 프로토콜. 이제 설명 드리겠습니다. 프로토콜은 어떤 기능을 사용하기 위해 반드시 작성해야할 코드의 모음이다. 라는 말 들어보셨죠? 예. 저도 많이 들었습니다. 근데 이걸 쓰기위해 저 작성이 필요한건 알겠는데 필요한 이유가 이걸 쓰기 위해서라고? 도대체 왜???? 네 그렇습니다. 저도 당시에는 무슨 소리인지 몰랐습니다 이걸 왜 써야하는지 초보자의 입장에서는 모르죠 왜써야하는지 왜 초보자는 모를까요? ..
Swift. 행렬의 덧셈( feat. zip )
문제. 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 풀이. // 나의풀이 func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] { var result1 = [Int]() var result2 = [[Int]]() for i in 0...arr1.count - 1 { for q in 0...arr1[i].count - 1 { result1.append(arr1[i][q] + arr2[i][q]) } result2...