[CS] 이미지 캐시
·
⚙️ CS
프로젝트 유지보수 중 사수님이 이미지 캐시 관련 로직을 구현하시다가 나에게 이미지 캐시에 대해 설명해주셔서 까먹기 전에 살짝쿵 정리하고 가기로 했다. 실제로 캐시에 대한 개념을 개발자가 알고 있는 게 중요하기도 하고, 의외로 면접 단골 질문이라 미래를 위해서 (?) 이해하고 있는 게 도움이 될 것 같다.    https://motosw3600.tistory.com/37 ImageCacheImageCache 이미지 캐시로 이미지를 받아오는 로직은 총 3가지로 분류된다. 메모리 캐시 디스크 캐시 URL 요청 1. 메모리 캐시 NSCache사용 Key-Value쌍으로 이루어진 Generic Type의 클래스 메모리 영역 일부motosw3600.tistory.com 위 블로그가 사수님이 간결하게 잘 정리 된 것..
[프로그래머스/Swift] 문자열 붙여서 출력하기
·
💡 알고리즘/프로그래머스
[문제] 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.   [풀이] import Foundationlet inp = readLine()!.components(separatedBy: [" "]).map { $0 }let (s1, s2) = (inp[0], inp[1])print("\(s1)\(s2)")
[프로그래머스/Swift] 대소문자 바꿔서 출력하기
·
💡 알고리즘/프로그래머스
[문제] 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. [풀이] let s1 = readLine()!var result = ""for i in s1{ result += (i.isUppercase ? i.lowercased() : i.uppercased())}print(result)  [과정] isUppercase (당연히 isLowercase도 있다)라는 Bool값으로 return 되는 프로퍼티를 사용하여 대문자인지를 true/false로 확인한 다음, 대문자이면 t소문자로 바꿔주는 메서드인 lowercased()로 소문자로, 반대로 대문자가 아니면 uppercased()로 대문자로 값을 result에 ..
[프로그래머스/Swift] 중복된 숫자 개수
·
💡 알고리즘/프로그래머스
[문제] 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. [풀이] import Foundationfunc solution(_ array:[Int], _ n:Int) -> Int { var num = 0 // 중복 숫자 카운팅 for i in array { if i == n { num += 1 } } } [과정] 중복된 개수를 따로 뽑아내는 게 있나? 궁금해서 검색했을 때 NSCountedSet가 나왔었다. 간단히 배열을 집어넣고, 그 배열에서 어떤 걸 뽑아내고 싶은지 (for:)로 해주면 되는 건데, 뭔가 코테에 맞..
[프로그래머스/Swift] 배열 뒤집기
·
💡 알고리즘/프로그래머스
[문제] 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.  [답] import Foundationfunc solution(_ num_list:[Int]) -> [Int] { return num_list.reversed()}  [과정] 사실 맨 처음 문제를 봤을 땐 배열을 정렬하는 문제라고 생각했다. 그래서 배열을 담는 변수를 만들고, num_list를 .sorted(by:)를 사용해서 풀었는데 테스트 3개 중 2개만 통과를 했다. 뭐가 문제야? 하며 찾아보니 정렬이 아니라 단순히 거꾸로 배열 순서를 바꾸는 문제이기에 reversed()라는 걸 사용해야 했다.  ..
[프로그래머스/Swift] 옷가게 할인 받기
·
💡 알고리즘/프로그래머스
[문제] 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.   [풀이] import Foundationfunc solution(_ price:Int) -> Int { switch price { case 100000..   [과정] Int와 Double이 서로 계산이 안된다는 걸 까먹고 작성하다가 계속되는 테스트 통과 실패에 당황했었다. 이런 기본적인 걸 잊고 있다니...! https://ujeon.medium.com/swift-%EC%86%8C%EC%88%98%EC%99%80-%E..