목록전체 글 (165)
아요 개발 일기
안녕하세요! 오늘은 git error에 대해 살펴보겠습니다! git push를 하는 과정에서 빈 파일인데 자꾸 pull하라고 떴습니다ㅜㅜ... error 메세지를 해석해보면 아래와 같습니다. rejected : push가 거부되었습니다. master -> master : 로컬 저장소의 master 브랜치의 변경 사항을 원격 저장소의 master 브랜치에 반영하려 했는데, non-fast-forward : 원격 저장소의 master 브랜치가 로컬 저장소의 버전보다 이전 버전이 아닙니다. 그래서 pull을 해주었는데, 관계가 없는 커밋 내역의 병합을 거부한다는 오류가 계속 떴습니다.. 알고보니 원격 저장소에서 readme.md를 추가하는 커밋이 로컬 저장소의 커밋 로그에는 없기 때문이었습니다!! 해결 방법 ..
안녕하세요! 오늘은 Google 로그인 구현을 해보겠습니다 :ㅇ 만약, Firebase를 프로젝트에 연결 안 하셨다면 [iOS] Firebase 프로젝트에 연결하기 을 참고해주세요 :-) Email 로그인 구현하기 Apple 로그인 구현하기 Firebase Google 추가 사진과 같이 Authentication -> Sign-in method -> 새 제공업체 추가 를 눌러줍니다. 저희는 Google 로그인을 구현할꺼니까 Google 클릭! 누르면 위와 같은 이미지가 뜨는데 사용 설정 버튼을 눌러서 활성화 시켜주고 저장해줍니다. Xcode 설정 및 Coding 일단, 저희는 Google 로그인을 사용하려면 GoogleSignIn 프레임워크를 다운받아야해요 :D podfile에 아래 텍스트를 추가해줍니다..
안녕하세요! 오늘은 나누어 떨어지는 숫자 배열 문제를 풀어보겠습니다!! 문제 풀이 저는 for in 문을 사용해서 arr 값을 하나씩 뽑아줬습니다! 그 후에 i % divisor == 0 일때 ( divisor로 나눴을때 나머지가 0), result에 append (추가) 해줍니다. 마지막으로 나눠지는 값이 없을때, result가 isEmpty (비었을때) 이면 -1 출력 아니면 result 값을 sorted(정렬)하여 출력해줍니다. 간단하죠??? func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let array = arr.sorted().filter{ $0 % divisor == 0 } return array == [] ? [-1] : array } 저의 ..
안녕하세용!! 어제 백신을 맞았더니 오늘 컨디션이 안 좋네용,,,ㅜㅜ 오늘은 바로바로 제일 작은 수 제거하기 문제를 풀어보았습니다!! 문제 내가 푼 풀이 문제 푸는데 자꾸 arr가 let 이어서 remove가 안 된다고 뜨더라구요ㅜ.ㅜ 그래서 array 라는 변수에 할당해주었습니다! array.remove ( - array 배열에서 삭제해라! at: array.firstIndex( - array의 앞의 인덱스부터 탐색하여 of: array.min()!)!) - arr.min에 해당하는 값을! 이런식으로 코드를 짰어요!! 그러면 최소 값만 잘 지워진답니다! 마지막은 배열의 갯수가 0 즉, 인덱스가 1개라면 -1 반환 아니라면 array 반환 하도록 해줬어요! 더디지만 점점 실력이 늘고있는거같은건 기분탓이겠..
문제 풀이 import Foundation func solution(_ n:Int) -> Int { var result: String = "" var num = String(n, radix: 3) for char in num.reversed() { result.append(String(char)) } return Int(result, radix: 3)! } 저는 radix를 사용해서 쉽게 진수를 변환했어요! Apple 공식 사이트 참고 3진수로 변환한 값을 거꾸로 저장하기 위해서 for-in문을 사용했습니다. reversed()를 사용하여 num 문자열을 거꾸로 뽑아줍니다. 그 후에 미리 만들어 놓은 result 변수에 append (추가) 해줍니다. 마지막으로 result 값을 다시 10진수로 바꾸기 ..
문제 풀이 import Foundation func solution(_ numbers:[Int]) -> [Int] { var result = [Int]() for i in 0 ..< numbers.count { for j in i + 1 ..< numbers.count { let num = numbers[i] + numbers[j] if !result.contains(num) { result.append(num) } } } return result.sorted() } for-in 문을 사용해서 풀어보았습니다! numbers 배열의 i 값일 때, 나머지 numbers 배열의 i와 i + 1값부터 차례대로 더해서 num 상수에 넣어줍니다. 같은 숫자는 한 번만 출력해주면되므로, 배열의 contains 메서..
문제 풀이 minNum 부분이 조금 헷갈려서 다른 풀이글을 참고했습니다! 변수 maxNum, minNum을 만들고, for-in문을 통해서 내부의 배열 값을 받습니다. maxNum에는 배열의 i 값들 중 큰 값과 maxNum을 비교 후 큰 값을 넣어주고, minNum에는 배열의 i 값들 중 작은 값과 minNum을 비교 후 큰 값을 넣어줍니다. 그 후, 변수 두개를 곱해주면 끝! 좋은 풀이 func solution(_ sizes:[[Int]]) -> Int { let sorted = sizes.map{$0.sorted()} return sorted.map{$0[0]}.max()! * sorted.map{$0[1]}.max()! } 이 풀이는 고차 함수 map을 많이 사용했네요? 일단 sorted 상수에 ..
문제 풀이 저는 week와 month를 Array로 선언해놓고 풀었습니다! a의 값만큼 for 문을 돌려주고 만약, a = 5라면 month[0...5]까지 0, 31, 29, 31, 30, 31 값을 result에 값에 더해줍니다 그 후에 result 값에 b 값도 더해주고, 일주일은 7일이니 result % 7 의 값을 week에서 찾아서 Return 합니다. func solution(_ a:Int, _ b:Int) -> String { let w = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"] let monthDay = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] let totalDay = monthDay[0..