반응형

분류 전체보기 180

SSOT | 단일 진실 공급원(Single Source Of Truth)

단일 진실 공급원(Single Source Of Truth) 데이터가 만들어지고 수정되는 작업이 여러 곳에서 일어나는것이 아니라 한 곳에서 발생하면 좋다고 합니다만약 여러 곳에서 일어나게되면 디버깅할 때 값의 흐름을 추적하는 것이 귀찮고 어려운 작업이 되면서 유지보수할 때 많이 힘들어집니다 정보시스템, 데이터관리 및 소프트웨어 개발에서 사용되는 개념이며 조직 내 모든 사람들이 동일한 데이터를 기반으로 결정을 내리도록 보장하는 것입니다 SSOT(Single Source Of Truth) / SPOT(Single Point Of Truth)모든 데이터 요소가 편집(마스터) 되도록 정보 및 모델 관련 데이터 스키마를 구성하는 관행입니다한 곳에서만 정규 형식 데이터를 제공합니다SSOT 요소데이터 일관성동일한 데..

서적 2024.06.28

Lv1 | Swift - 약수의 개수와 덧셈

문제 설명문제 설명두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.제한사항1 ≤ left ≤ right ≤ 1,000입출력 예leftrightresult131743242752입출력 예 설명입출력 예 #1다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.수약수약수의 개수131, 132141, 2, 7, 144151, 3, 5, 154161, 2, 4, 8, 165171, 172따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다.입출력 예 #2다음 표는 24부터 27까지의 수들의..

Programmers/LV1. 2024.06.28

Lv1 | 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 이하입니다.입출력 예abresult[1,2,3,4][-3,-1,0,2]3[-1,0,1][1,0,-1]-2입출력 예 설명입출력 예 #1a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다.입출력 예 #2a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2 입니다.나의 풀이impor..

Programmers/LV1. 2024.06.27

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

iOS/Siwft | XCode - SwiftLint 적용

Swift Lint협업시 code convention을 지키기 위해서불필요한 PR 리뷰 등이 없도록 하기 위해서 사용합니다필요한 영역에 다양하게 지원하기 때문에 유용합니다 하지만 혼자서 규칙을 만들고 하는데 시간이 너무 소요될 것같아규모가 큰 회사에서 사용하면 좋을것 같다라는 생각이 들었습니다 그래서 혼자 구현할 때 실제로 잘 사용하지 않는것 같다라는 생각이 들었습니다하지만 큰 규모의 회사에 들어가게 된다면 반드시 숙지해 놓으면 좋을것 같다라는 생각이 들었습니다    https://tngusmiso.tistory.com/59 [iOS/Swift] XCode 프로젝트에 SwiftLint 적용하기SwiftLint XCode 프로젝트에 Swift 코드 컨벤션을 잡아주는 SwiftLint를 적용하는 법을 알아보..

Swift 2024.06.25

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
반응형