전체 글 261

<알고리즘 문제> 해설 보면 안됐는데;, 중요 , 백준 동전1 2293번

거스름돈 문제 동전들에 배수관계가 성립할때만 한정. 대부분의 화폐는 1,5,10,25,50 등 딱 떨어지는 수치를 가지고 있기 때문에 그리디로 해결된다. https://www.acmicpc.net/problem/5585 https://www.acmicpc.net/problem/11047 [https://blog.tomclansys.com/64] 위는 그리디로 되고 [https://mygumi.tistory.com/129] 여기는 dp문제도 준다. 동전1번 [https://www.acmicpc.net/problem/2293] 일단 이거 풀어야 되는데 잘 모르겠다. 음 분할 문제로 생각되서 접근하게 된다. 그래서 자꾸 재귀함수로 분할해 풀려고 한다. 일단 그냥 생각나는 풀이인 완탐으로 했는데 틀렸다. // ..

<스위프트> Custom Operator, Generic, inout parameter

함수형 언어란?? 검색해서 텍스트를 찾는데, 자꾸 스위프트 언어 자체에 대한 것만 나와서 유트브에 functional programming + swift로 검색해 보다 아래 유트브를 보았다. [https://www.youtube.com/watch?v=estNbh2TF3E] 이 영상 전에, 단순히 functional pl에 대해 찾아 보니, 음 단계 별로 넘길 수 있다는 장점? 그것이 위주로 나왔는데, 용어와 특징을 다시 찾아보자. 그래서 해당 영상에서 본 오퍼레이터 생성이 흥미로워 공식 문서에서 다시 찾아 봤다. [https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html] operator의 infix, prefix,postfix 개념이..

<ios framework> Swift UrlSession

음 저번에 DispatchQueue는 왜 사용했냐는 질문 받고, 내가 잘못 사용한 부분이 있는거 같아. 확인해 보았다. 백그라운드에서 돌리려고 해서 사용한거긴한데, configuration 방법이 있긴하더라 찾아보니. DispatchQueue.global(qos: .utility).async( execute: { if let url = URL(string : urlAddress){ var request = URLRequest(url: url) request.httpMethod = "GET" URLSession.shared.dataTask(with : request){ data ,res ,err in Dispatchqueue.gloabal이 없어도 되지 않냐는 질문이였는데, 내가 다른 부분이랑 햇갈려서 추..

ios개발 2020.04.09

<ios 운영체제> GCD - grand central disptach queue

음 일단 잘 모르겠다. 그런데 생각보다 gcd를 이해할 수준일 수도 있을거 같다. [https://en.wikipedia.org/wiki/Grand_Central_Dispatch] Grand Central Dispatch (GCD or libdispatch), is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems.[2] It is an implementation of task parallelism based on the thread pool pattern. The fundamental..

ios개발 2020.04.09

<운영 체제> 멀티 프로세싱, 멀티 태스킹, 멀티 프로그래밍, 멀티 스레딩.... 멀티??

나무위키 출처이긴 한데, 굳이 집합 기호로 표현 하면 '병렬 처리 ⊂ 병행(동시) 처리 ⊂ 프로세스 내부의 멀티스레딩 ⊂ 운영체제 차원의 멀티스레딩 ⊆ 멀티태스킹'인 셈. 이라함 음 멀티 스레딩, 프로세싱의 기본적인 차이는 알고 있는 대로였다. 이제 근데 멀티 프로세싱의 경우 IPC에 대해 좀 까먹은 부분이 있고, 그리고 실제로 사용은 거의 멀티 스레딩만 해본거 같아서 와닿지 않는다. 멀티 스레딩의 경우 교착 상태 발생 조건을 다시 봤다. 더보기 교착상태 발생 조건 다음 네 가지 조건이 모두 성립될 때, 교착상태 발생 가능성이 있음 상호배제 : 프로세스들이 필요로 하는 자원에 대한 배타적인 통제권을 요구한다. 점유대기 : 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다린다. 비선점 : 프로세스가..

카테고리 없음 2020.04.09

<부분합 문제?> 다양한 종류의 냅색 문제?부분합?에 대한 이해를 해보자.

일단 내가 생각한 문제는, 동전이 다양한 금액으로 여러개 있을때, 두 사람한테 최대한 공정하게 분배하려면 어떻게 분배해야 할까. 나는 이 문제가 그리디라고 생각했다. 하지만 디피라는 의견이 있는데 왜 그런지 모르겠어서 다른 문제들을 찾아보고 문제 분석과 올바른 접근법을 생각해 보려 한다. https://www.acmicpc.net/problem/1943 1943번: 동전 분배 세 개의 입력이 주어진다. 각 입력의 첫째 줄에 동전의 종류 N(1≤N≤100)이 주어진다. 각 입력의 둘째 줄부터 N+1째 줄까지 각각의 동전의 금액과 개수가 빈 칸을 사이에 두고 주어진다. 단, 원장선생님께서 주신 금액의 총 합은 100,000원을 넘지 않는다. www.acmicpc.net 음 일단 나중에 풀겠지만, 절반으로 정..

<객체 지향> 객체 지향 프로그래밍 원칙

[https://namu.wiki/w/%EA%B0%9D%EC%B2%B4%20%EC%A7%80%ED%96%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EC%9B%90%EC%B9%99#s-2.1] 디자인 패턴을 찾다 보니, 객체 지향 프로그래밍 원칙을 좀 알아야 될거 같아서 찾아 보게 되었습니다. SRP : single responsibility principle - 단일 책임의 원칙 객체는 오직 하나의 책임을 가져야 한다. (객체는 오직 하나의 변경의 이유만을 가져야 한다.) 사칙연산 함수를 가지고 있는 계산 클래스가 있다고 치자. 이 상태의 계산 클래스는 오직 사칙연산 기능만을 책임진다. 만일 프로그램이 대대적으로 공사를 들어가게 되더라도 계산 클래스가 수..

<용어> wrapper란?

wrapper의 사전적 의미는 '(특히 식품) 포장지'라는 뜻입니다. 여기서 래퍼 클래스는 기본 자료형(primitive data types)에 대한 클래스 표현을 래퍼 클래스(wrapper classes)라고 합니다. 기본 자료형에 대해서 객체로서 인식되도록 '포장'을 했다는 뜻입니다. 객체라는 상자에 기본 자료형을 넣은 상태로 생각하면 됩니다. 필요시 컴파일러가 자동으로 수행하기 때문에 이를 오토박싱(autoboxing)이라고 합니다. 아래 그림으로 보여지는 숫자 자료형의 모든 래퍼 클래스는 모두 Number라는 추상 클래스를 상속 받아서 구현한 것입니다. Byte 클래스는 byte 자료형, Short는 short 자료형, Integer는 int 자료형, Long은 long 자료형, Float는 fl..

<디자인 패턴> 디자인 패턴이란? 1편

디검색할때 마다 디자인 패턴 개념이 종류가 몇개 나뉘는거 같아서 일단 검색을 많이 해본다. [https://namu.wiki/w/%EB%94%94%EC%9E%90%EC%9D%B8%20%ED%8C%A8%ED%84%B4] 일단 나무위키지만 개요를 찾아봤다. 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴. 여러 사람이 협업해서 개발할 때 다른 사람이 작성한 코드, 기존에 존재하는 코드를 이해하는 것은 어렵다. 이런 코드를 수정하거나 새로운 기능을 추가해야 하는데 의도치 않은 결과나 버그를 발생시키기 쉽고 성능을 최적화시키기도 어렵다. 이로 인해 시간과 예산이 소모된다. 디자인 패턴은 의사소통 수단의 일종으로서 이런 문제를 해결해준다. 예를 들어 문제 해결의 제안에 있어서..

카테고리 없음 2020.04.08

<ios framework> ios 이미지 최적화, UIKit

뭐라고 불러야 될지 잘 모르겠다. 이미지 렌더링이라 생각했는데 [https://kor45cw.tistory.com/286] [https://jinnify.tistory.com/60] [https://developer.apple.com/documentation/uikit/uiimageview] 이게 가장 정확한 이유 같다. 검색중 블랜딩 너무 많이해서, opaque 설정으로 해결했다는 글 본거 같은데. 여기도 해당 작업이 비싸다 써있음 이 외에도 읽어 볼만한 글이 많은거 같다. Tips for Improving Performance Image scaling and alpha blending are two relatively expensive operations that can impact your app’..

ios개발 2020.04.07