👨🏻‍💻iOS 공부

    [프로그래머스] 디스크 컨트롤러

    https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 그림과 같은 요청이 들어왔을 때 (시작 시간, 수행 시간)을 고려하여 적절히 배치하였을 때, 총 수행시간의 평균이 최소가 되도록 하는 경우를 찾으면 되는 문제이다! (한 번에 하나씩만 수행 가능) 위 방법은 그저 들어온 순서대로 즉, FIFO의 형태로 수행된 결과이다. 물론 최적의 값은 아니다. 이렇게 수행시간이 짧은 순서대로 배치하여 진행하는 것이 최소의..

    [프로그래머스] 표 편집

    https://programmers.co.kr/learn/courses/30/lessons/81303?language=swift 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 마치 엑셀에서 표를 편집하는 것 처럼 방향키 이동, 삭제, 되돌리기를 구현하는 문제이다! 정확성 + 효율성까지 보는 문제이기 때문에 코드의 효율도 고려하여 작성해야 한다. 우선 예시를 먼저 보자. n = 8, k = 2, cmd = ["D 2","C","U 3","C","D 4","C"..

    [프로그래머스] 삼각 달팽이

    https://programmers.co.kr/learn/courses/30/lessons/68645?language=swift 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 주어진 그림을 보면 규칙은 다음과 같다. 이렇게 구성한 뒤에 각 행을 이어 붙이면 정답이 된다! [[1],[2,9],[3,10,8],[4,5,6,7]] 이에 우선은 방향이 세 가지 있다는 것을 알 수 있다. 1. 상단에서 좌측 하단으로 2. 좌측에서 우측으로 3. 우측하단에서 상단으로 이렇게 방향을 반복하게 된다. 방향은 아래와 같이 세팅해두..

    [Swift] 내가 보려고 정리하는 Optional

    지금껏 배웠던 다른 프로그래밍 언어들과 달리 Swift가 가지는 특색이라고도 생각하는 Optional에 대해 간략하게 정리해볼 것이다. Optional의 구조 Optional은 값이 있을 수도 있고, 없을 수 있는 타입이다. 그 내부 구조를 한 번 살펴보자. @frozen enum Optional { case none case some(Wrapped) } @frozen : enum에 더 이상 case를 추가하지 않겠다는 것을 의미 : Generic 타입이다. wrapped이라는 건 말그대로 감싸져있다는 것이기에 이후 사용시 풀어서 사용해줘야 한다. enum 구조이기 때문에 ?를 써서 사용하는 방법과는 다르게 표현할 수 있다. // 값이 있는 경우 let optionalValue: Optional = Op..

    [프로그래머스] 거리두기 확인하기

    https://programmers.co.kr/learn/courses/30/lessons/81302?language=swift 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 2021 카카오 채용연계형 인턴십 문제로 구현에 가까운 문제이다..

    [iOS] Firebase GoogleService-Info의 파일명 문제

    Firebase Realtime Database를 연결하기 위해서는 GoogleService-Info.plist를 다운로드 받고 프로젝트에 추가시켜야 한다. 다만 여러 프로젝트를 진행하면서 .plist들도 여러 번 다운로드 받게 되면 파일의 이름이 바뀌게 된다. 처음에 받을 때는 GoogleService-Info.plist의 파일명이겠지만, 그 이후부터는 GoogleService-Info.plist (1), GoogleService-Info.plist (2)... 이런 식으로 파일명이 중복되지 않게 생성될 것이다. 그대로 프로젝트에 추가하면 당연히 안된다! 기본적으로 AppDelegate에서 실행되는 FirebaseApp.Configure()은 GoogleService-Info.plist를 찾게된다. 하..