Algorithm/Swift

문제 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수 solution을 작성하라. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하라. 제한사항 arr은 자연수를 담은 배열 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 이다. divisor는 자연수 array는 길이 1 이상인 배열 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 풀이 return의 값이 숫자의 오름차순으로 정렬되어 있기 때문에 sorted() 함수로 배열 내 숫자들을 정렬시켜준다. func so..
문제 어떤 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어진다. 실제 정수들의 합을 구하여 return 하도록 함수를 완성하라 제한사항 absolutes의 길이는 1이상 1000이하 (absolutes의 모든 수는 각각 1이상 1000이하) signs의 길이는 absolutes의 길이와 같음. (signs[i]가 참이면 absolutes[i]의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미한다.) 입출력 예 absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,false,true] 0 풀이 func solution(_ absolutes:[Int]..
문제 solution 함수는 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 한다. 제한 조건에 만족하는 함수 solution을 완성하라 제한조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] 풀이 처음 코드에서 몇 줄 더 줄일 수 있으면 줄이는게 나을 것 같아서 삼항 연산자를 사용하여 풀이해보았다. func solution(_ x:Int, _ n:Int) -> [Int64] { var answer: [Int64] = [] for _ in 0.. [Int64] { var answer: [I..
문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가린다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성하라. 제한 조건 phone_number는 길이 4 이상, 20 이하인 문자열입니다. 입출력 예 phone_number return 01033334444 *******4444 02777888 *****888 풀이 enumerated() 메서드를 사용한 풀이입니다. 유저 이메일이나 휴대폰번호 마스킹 처리 할 때 자주 쓰여서 풀기 크게 어렵지는 않았지만.. 뭔가 세련된 풀이는 아닌 것 같아서 다른 분들 코드도 잘 분석해봐야겠네요. 생각해보니까 ..
문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. 입출력 예 n result 10 3 12 11 풀이 쉬운 문제라 비교적 빠르게 풀긴 했는데 최소공배수 개념 쓰려다 그냥 배열에 넣어서 최소값 찾자ㅋㅋ 라는 마인드로 풀어버렸네요.. 이..
문제 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다..
Swift에서는 다른 언어에서처럼 String형에서 Index에 Int로 접근할 수 없다. String 인덱스 값에 Int가 아닌 인덱스 자료형이 위치해 있어(Swift에서 String은 Reference Typed이 아닌 Value Type이기 때문이라고 한다.) Substring 사용이 꽤 번거롭고 귀찮기는 하다. 문제 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나..
빵판 AKA 브레드보드
'Algorithm/Swift' 카테고리의 글 목록