반응형

Programmers 32

Lv1 | Swift -제일 작은 수 제거하기

문제 설명길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.제한 조건n은 길이 10,000이하인 자연수입니다.입출력 예nreturn3"수박수"4"수박수박"나의 문제 풀이func solution(_ n:Int) -> String { var result = "" for i in 1...n { result += (i % 2 == 1) ? "수" : "박" } return result} 단순 반복문 for를 사용하여하나씩 추가하는 방법을 사용하였다 다른 사람 풀이func solution(_ n:Int) -> Str..

Programmers/LV1. 2024.06.26

Lv1 | Swift -제일 작은 수 제거하기

문제 설명단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.재한사항s는 길이가 1 이상, 100이하인 스트링입니다.입출력 예sreturn"abcde""c""qwer""we"나의 풀이func solution(_ s:String) -> String { return s.count % 2 == 0 ? String(Array(s)[s.count/2-1...s.count/2]) : String(Array(s)[s.count/2])}배열의 크기가 짝수인지 홀 수 있지 판별한 후 범위 연산자를 사용하여 결과 도출을 했습니다 다른 사람 풀이func solution(_ s:String) -> String { return String..

Programmers/LV1. 2024.06.25

Lv1 | Swift -제일 작은 수 제거하기

문제 설명정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.제한 조건arr은 길이 1 이상인 배열입니다.인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.입출력 예arrreturn[4,3,2,1][4,3,2][10][-1]나의 풀이func solution(_ arr:[Int]) -> [Int] { if arr.count == 1 { return [-1] } var result = arr.sorted(by: result }..

Programmers/LV1. 2024.06.24

Lv1 | Swift - 핸드폰 번호 가리기

문제 설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건phone_number는 길이 4 이상, 20이하인 문자열입니다.입출력 예phone_numberreturn"01033334444""*******4444""027778888""*****8888"나의 풀이func solution(_ phone_number:String) -> String { var cellPhoneNumber = phone_number.map { String($0) } let count =..

Programmers/LV1. 2024.06.21

Lv1 | Swift - 나누어 떨어지는 숫자 배열

나누어 떨어지는 숫자 배열문제 설명array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항arr은 자연수를 담은 배열입니다.정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.divisor는 자연수입니다.array는 길이 1 이상인 배열입니다.입출력 예arrdivisorreturn[5, 9, 7, 10]5[5, 10][2, 36, 1, 3]1[1, 2, 3, 36][3,2,6]10[-1]입출력 예 설명입출력 예#1arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]..

Programmers/LV1. 2024.06.20

Lv1 | Swift - 콜라츠 추측

문제 설명1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요.제한 사항입력된 수,..

Programmers/LV1. 2024.06.19

Lv1 | Swift - 없는 숫자 더하기

문제 설명0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.제한사항1 ≤ numbers의 길이 ≤ 90 ≤ numbers의 모든 원소 ≤ 9numbers의 모든 원소는 서로 다릅니다.입출력 예numbersresult[1,2,3,4,6,7,8,0]14[5,8,4,0,6,7,9]6입출력 예 설명입출력 예 #15, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.입출력 예 #21, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.나의  풀이import Foundatio..

Programmers/LV1. 2024.06.18

Lv1 | Swift - 음양 더하기

오늘은 프로그래머스 음양 더하기를 swift로 풀었습니다 문제 설명어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.제한사항absolutes의 길이는 1 이상 1,000 이하입니다.absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.signs의 길이는 absolutes의 길이와 같습니다.signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.입출력 예absolutessignsresult[4,7,12][true,false,true]9[..

Programmers/LV1. 2024.06.17

Lv1 | Swift - 서울에서 김서방 찾기

swift / 서울에서 김서방 찾기|문제 설명String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.제한 사항seoul은 길이 1 이상, 1000 이하인 배열입니다.seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다."Kim"은 반드시 seoul 안에 포함되어 있습니다.입출력 예seoulreturn["Jane", "Kim"]"김서방은 1에 있다" 나의 풀이func solution(_ seoul:[String]) -> String { guard let x = seoul.firstIndex(of: "..

Programmers/LV1. 2024.06.14

Lv1 | Swift - 두 정수 사이의 합

두 정수 사이의 합| 문제 설명두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.입출력 예abreturn35123335312 고차함수 reduce를 사용해서 풀거나 while, for 반복구문을 사용해서 풀 수 있겠구나라고 생각했습니다 나의 풀이func solution(_ a:Int, _ b:Int) -> Int64 { var value = 0 if a =..

Programmers/LV1. 2024.06.13
반응형