[Algorithm/Python] 파이썬 약수 구하기 (시간복잡도 줄여보기)
Develop/Algorithm 2021. 3. 3. 18:16

문제 1 이상의 자연수 N이 주어졌을 때, N의 약수 구하기 풀이 단순한 풀이 방법 def getMyDivisor(n): divisorsList = [] for i in range(1, n + 1): if (n % i == 0) : divisorsList.append(i) return divisorsList for 문을 이용해 범위를 약수가 될 수 있는 최솟값인 1부터 최댓값인 자기 자신까지 돌려준다. 만약, 나머지가 0이라면 약수라는 뜻이므로 배열에 저장해준다. 이 방법을 사용할 경우 작은 수부터 i가 들어가므로 자동으로 오름차순 정렬이 된다. 시간 복잡도 : O(N) 더 효율적인 풀이 방법 def getMyDivisor(n): divisorsList = [] for i in range(1, int(n..

[Python/프로그래머스/Level3] 최고의 집합
Develop/Algorithm 2021. 2. 23. 17:03

문제 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합입니다. 집합의 원소의 개수 n과 모든 원소들의 합 s가 매개변수로 주어질 때, 최고의 집합을 return 하는 solution 함수를 완성해주세요. 제한사항 최고의 집합은 오름차순으로 정렬된 1차원 배열(list, vector) 로 ..

[Swift/iOS] 카메라로 사진 찍기 및 앨범에서 이미지 가져오기 (taking a picture using the camera)
Develop/Swift 2020. 12. 30. 04:19

안녕하세요. 미닛메이드 Minnit 입니다😌 앱에서 카메라로 사진을 찍거나 앨범에서 기존 이미지를 가져와서 사진을 등록하는 기능 ! 많이 사용해보셨죠? 예로는 카카오톡 프사 선택하기가 있겠네요! UIImagePickerController를 이용해 이 기능을 구현해보겠습니다! UIImagePickerController가 뭘까요? Apple🍎의 공식 문서를 확인해보면 "사진 촬영, 동영상 녹화, 사용자의 미디어 라이브러리에서 항목을 선택하기 위한 시스템 인터페이스를 관리하는 View Controller입니다." 이번 시간에는 UIImagePickerController에서 제공해주는 다양한 함수에 대해 살펴볼게요! 그럼 기본적인 코드를 보고 설명을 해볼까요? let camera = UIImagePickerCo..

[Xcode] Xcode Theme(테마) 추가 및 변경해보기
Develop/iOS 2020. 11. 1. 22:38

안녕하세요. 미닛메이드 Minnit 입니다😌 이번에는 Xcode의 Theme를 다운받고 적용해보겠습니다!! 테마 다운받기 git이나 blog에 다양한 xcode 테마들이 올라와있으니 .xccolortheme 확장자의 원하는 파일은 먼저 다운받아주세요! "xcode theme download" 치면 예쁜 테마들이 많더라구요 ! github.com/jasonm23/xcode-themes jasonm23/xcode-themes XCode themes with Sauce. Contribute to jasonm23/xcode-themes development by creating an account on GitHub. github.com 참고로 저는 이번에는 WWDC 2017 Theme를 적용시켜봤습니다 ~ 파일..

[Python/프로그래머스/Level2/KAKAO] n진수 게임
Develop/Algorithm 2020. 10. 25. 23:59

문제 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다. 10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 첫자리인 1, 열두 번째 사람은 둘째 자리인 0을 말한다. 이렇게 게임을 진행할 경우, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, … 순으로 숫자를 말하면 된다. 한편 코딩 동아리 일원들은 컴퓨터를 다루는 사람답게 이진수로 이 게임을 진행하기도 하는데, 이 경우에는 0, 1, 1..

[Swift] instantiateViewController를 사용해서 뷰 생성하기
Develop/Swift 2020. 10. 18. 17:56

안녕하세요. 미닛메이드 Minnit 입니다😌 이번에는 instantiateViewController라는 swift에서 사용되는 Instance Method에 대해 알아보겠습니다. apple의 공식문서를 확인해보면 " 지정된 식별자를 가지고 스토리보드의 데이터를 초기화 해 뷰 컨트롤러를 만든다 " 라고 쓰여있는 걸 확인할 수 있습니다 ! 🔍 여기서 잠깐 , identifier란 무엇일까요? identifier은 스토리보드에서 뷰 컨트롤러를 구분할 수 있게 만들어 주는 뷰의 별명이라고 할 수 있습니다. 여기서는 "FirstVC" 라는 식별자를 이 뷰에게 부여한 것입니다. 다시 앞으로 가서, instantiateViewController의 설명에서 제가 생각하는 가장 중요한 포인트는 ❗️ 데이터 초기화 ❗️입..

[Python/프로그래머스/Level2] 스킬트리
Develop/Algorithm 2020. 10. 9. 03:21

문제 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만,썬더 → 스파크나라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한사항 스킬은 알파벳 ..

[Swift] Swift에서 다양한 정규표현식(Regular Expression) 사용해보기
Develop/Swift 2020. 10. 8. 16:16

안녕하세요. 미닛메이드 Minnit 입니다😌 이번에는 Swift에서 자주 사용되는 정규표현식에 대해 알아보고 적용까지 해보겠습니다! 먼저, 정규표현식이란 무엇일까요? 🔗 사용자가 규칙을 세워 패턴을 정의해둔 String 🔗 이라고 할 수 있습니다 ~ 만약 우리가 전화번호 정규표현식을 만든다고 하면 🐙 11자로 고정되어있다. 🐙 숫자로만 이뤄져 있다. 라는 규칙을 세워볼 수 있겠죠? let phoneRegEx = "[0-9]{11}" [ ] 안에는 표현식을 이루는 문자 타입을 넣어주시면 됩니다! 숫자 : [0-9] 한글 : [가-힣] 영어 : [A-Za-z] 특수문자 : [!_@$%^&+=] 그리고 뒤의 { } 안에는 몇 자로 이뤄져 있는지 써주시면 됩니다! 전화번호는 11자로 고정되어 있기 때문에 {11..

[Python/프로그래머스/Level1] 실패율 - 2019 KAKAO BLIND RECRUITMENT
Develop/Algorithm 2020. 9. 17. 22:43

문제 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 ..