[프로그래머스 | Lv.1] 가운데 글자 가져오기
·
Data structure & Algorithm/프로그래머스
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 나의 풀이 func solution(_ s:String) -> String { var baseIndex = s.index(s.startIndex, offsetBy: (s.count / 2)) if s.count % 2 == 0 { var baseIndexMinusOne = s.index(s.startIndex, offsetBy: (s.count / 2)-1) return String(s[baseIndexMinusOne]) + Strin..
[프로그래머스 | Lv.1] 수박수박수박수박수박수?
·
Data structure & Algorithm/프로그래머스
문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 사항 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 나의 풀이 func solution(_ n:Int) -> String { var answer = "" for i in 1...n { answer += (i % 2 == 1) ? "수" : "박" } return answer }
[프로그래머스 | Lv.1] 내적
·
Data structure & Algorithm/프로그래머스
문제 설명 길이가 같은 두 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 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1..
[프로그래머스 | Lv.1] 제일 작은 수 제거하기
·
Data structure & Algorithm/프로그래머스
문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 사항 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] 나의 풀이 func solution(_ arr:[Int]) -> [Int] { var answer = arr var minNumber = answer[0] for i in answer { if i < m..