전체 글 68

최대공약수, 최대공배수 구하는 함수 - swift

최대 공약수 ( Greatest Common Divisor ) 주어진 숫자를 소인수 분해해서 나오는 수들을 '약수'라고 한다. 예를 들어 12의 약수는 [1, 2, 3, 4, 6, 12] 이다. 18의 약수는 [1, 2, 3, 6, 9, 18] 이다. 여기서 공통된 약수들을 '공약수' 라고 부른다. 12, 18의 공약수는 [1, 2, 3, 6] 이다. 공약수 중에 가장 큰 수를 '최대 공약수'라고 부른다. (위의 예시에서는 공약수 중에 가장 큰 수가 6이므로 최대공약수는 6 이다.) 최대 공약수는 다음과 같이 구한다. func GCD(_ min: Int, _ max: Int) -> Int { let rem = min % max if rem == 0 { // 나머지가 0인 수. 즉, 약수를 의미한다. re..

Swift 2021.09.30

[프로그래머스 L2] [1차] 캐시 - swift

문제링크 https://programmers.co.kr/learn/courses/30/lessons/17680 - cacheSize의 도시이름 배열 cities를 입력받는다. - cacheSize는 정수, 0이상 30이하 - cities는 도시 이름으로 이뤄진 문자열 배열, 최대 도시 수는 100,000개 - 각 도시 이름은 공백, 숫자, 특수문자 등이 없는 영문자로 구성 ( 대소문자 구분 없음 ) - 도시이름은 최대 20자 - 캐시 교체 알고리즘은 LRU (Least Recently Used) 사용 -> 가장 사용한지 오래된 것을 제거 - cache hit일 경우 실행 시간은 1 - cache miss일 경우 실행 시간은 5 코드 func solution(_ cacheSize:Int, _ ..

collectionView - cell의 imageView를 원으로 만드는데 찌그러짐 - iOS

컬렉션뷰..너 나한테 왜그래.. 컬렉션뷰에 원 모양으로 영화포스터 이미지들을 넣어주고자 했습니다. 그런데 아래 사진 처럼 앱을 실행했을 때 이렇게 원형이 아닌 사각형 모양으로 뜨고, 좌우로 스크롤을 한번 하고 나면 원형으로 잘 나타났습니다. 위의 미리보기 이미지가 previewImage 이고, 아래와 같이 cellConfigure() 함수를 작성하고 collectionView의 cellForRowAt 함수에서 불러주었습니다. 그래서 imageView에 대해 설정해주던 부분을 지우고, layoutSubviews() 로도 해봤는데 비슷한 형상이 보이고 cell에 설정을 해주었더니 제대로 뜨네요 🤔 이유가 뭘까요... 이유를 찾아서 나중에 추가로 적어두겠습니다 틀린부분이 있거나, 더 좋은 방법이 있다면 댓글로..

Trouble Shooting 2021.09.30

sort, sorted의 차이는 무엇일까? - swift

sort 는 단어의 뜻 그대로 정렬해주는 메서드 입니다. sort가 들어간 메서드는 " sort() sort(by: ) sorted() sorted(by: ) " 이렇게 4개가 있습니다. 아래의 정수 배열과 문자열 배열을 예를 들어서 정리해 볼게요 :) var nums: [Int] = [7, 6, 9, 2, 4, 5, 1, 8, 3] var names: [String] = ["break", "fast", "car", "apple", "drive", "ensure", "gear"] 하나씩 사용해보면서 차이점을 알아봅시다! . . . . . 항상 그렇듯 일단 apple documentation을 먼저 꼭 확인해봅시다. sort() sort는 Comparable을 만족하는 Element를 정렬하는 인스턴스 메..

Swift 2021.09.30

[프로그래머스 L2] 영어끝말잇기 - swift

문제링크 https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 문제 요약 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고..

[프로그래머스 L2] 스킬트리 - swift

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 요약 skill_trees 배열에서 주어진 skill의 순서대로 선행 스킬을 배우는 스킬만 가능한 스킬트리로 본다. 가능한 스킬트리의 개수를 return 하는 함수를 작성하면 된다. 예를들어 skill이 "CBD" 라면, 무조건 C->B->D 순서로 스킬을 배워야한다. BACDE : B 스킬 전에 C가 선행되어야 하므로 불가능한 스킬트리이다. CBADF : 가능한 스킬트리 AECB : 가능한 스킬트리 BDA : B 스킬 전에 C가 선행되어야 하므로 불가능한 스킬트리이다. 코드 func solution(_ skill:String,..

Stack / Queue 구현해보기 - swift

** 작성자가 stack / queue를 연습하면서 작성한 기록을 남긴내용입니다. 나중에 자세한 설명가 추가 내용을 작성하며 수정할 예정입니다. ** Stack - LIFO, array로 구현 - 다양한 자료형을 수용할 수 있도록 generic을 이용 - push, pop 메서드의 경우 구조체 내부에서 데이터를 수정하기 때문에 mutating 키워드를 사용. struct Stack { var stack = [T]() var isEmpty: Bool { return self.stack.isEmpty } var top: T? { return self.stack.last } mutating func push(_ item: T) { self.stack.append(item) } mutating func pop(..

[프로그래머스 L1] 문자열 내 마음대로 정렬하기 - swift

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 문제 요약 문자열로 구성된 리스트 stirngs와 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬. (인덱스 n의 문자가 같은 문자열이 여럿 일 경우, 사전 순으로 앞선 문자열이 앞쪽에 위치.) 코드 func solution(_ strings:[Str..

[프로그래머스 L1] 문자열 내림차순으로 배치하기 - swift

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 문제 요약 문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수. 대문자는 소문자보다 작은 것으로 긴주. 코드1 func solution2(_ s:String) -> String { var rst: String = "" var arr: [Character] = [] arr = Array(..

반응형
1 2 3 4 5 6 7