전체 글
-
Algorithm) BOJ) 백준 9466 - 텀프로젝트Algorithm/BOJ 2019. 6. 4. 17:30
문제보러가기 1. 초기접근 문제 조건 해석 사이클을이 되면 팀을 이룬다는 것을 알 수 있다. DFS로 생각할 수 있지만, 난 한 명만 찍을 수 있지만 다수의 사람이 날 찍을 수 있다. 단순한 방문체크로는 한계가 있다. 알고리즘 탐색이 끝났는데, 팀을 이루지 못하면 팀을 이룰 수 없다. —> 1차 방문체크(visited)와 탐색이 끝난 완전 방문체크(finished) 2번 체크해야 한다. —> 탐색 중에 완전 finished가 아닌 visitied를 만났다면 싸이클을 찾은 것이라고 할 수 있다. 그 순간부터 count를 세면서 다시 자신으로 돌아오면 한 팀을 다 돈 것이다. (사이클 찾은 후 시작이므로 무조건 자신에게 돌아온다.) 전체 사람 수 에서 count를 빼면 정답. 2. 회고 c++ 로 전에 한번..
-
Algorithm) BOJ) 백준 1406 - 에디터Algorithm/BOJ 2019. 5. 21. 18:16
문제보러가기 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net 문제를 보고 가장 먼저 한 생각은 배열로 만들어 풀면 되겠다 라고 생각했었지만 그렇게 하면 삽입, 삭제를 할 때 커서 뒤의 모든 원소를 옮겨야 하기 때문에 시간 제한에 걸리게 됩니다! 커서를 기..
-
Swift) 집합 (Set)Swift 2019. 5. 18. 15:31
집합(Set) Set 형태로 저장되기 위해서는 반드시 타입이 hashable이어야만 합니다. Swift에서 String, Int, Double, Bool 같은 기본 타입은 기본적으로 hashable입니다. Swift에서 Set 타입은 Set로 선언합니다. 스위프트에서 집합은 순서가 없는 중복되지 않는 값들의 컬렉션입니다. 딕셔너리처럼 집합에 포함된 값들에는 특정한 순서가 없으며 딕셔너리의 키(Key)처럼 집합은 중복된 값을 포함할 수 없습니다. 어떨때 Set을 쓸까? 컬렉션에 들어가는 값이 중복인지 아닌지에 따라 배열을 쓸 지 집합을 쓸 지 결정할 수 있다. 문자열을 컬렉션으로 관리한다고 할 때 중복된 문자열 o = Array 중복된 문자열 x = Set 스위프트의 다른 컬렉션 타입들과 마찬가지로 집합도..
-
Algorithm) BOJ) 백준 1676 - 팩토리얼 0의 개수Algorithm/BOJ 2019. 5. 17. 16:06
문제보러가기 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 팩토리얼을 구하는 방법은 다들 아실텐데요, 문제는 수가 조금만 커져도 그 값이 어마어마하게 커진다는게 문제에요ㅠㅠ / 뒤에 숫자 0이 붙는다는 건 무슨 의미일까요? / 2라는 숫자를 20으로 만들려면 어떻게 해야할까를 생각하면 이해가 쉬울 것 같습니다. 한 마디로 10이 곱해진다는 뜻이죠 ! 즉 우리는 팩토리얼에서 10이 몇 개가 있는지를 확인하면 된답니다! 10 = 5 x 2 이므로 5의 개수와 2의 개수를 확인하면 되겠죠? / 그렇다면 2의 개수와 5의 개수는 어떻게 확인할까요? / 먼저 15! 을 한번 예로 들어볼게요, 1 x 2..
-
Algorithm) BOJ) 백준 6588 - 골드바흐의 추측Algorithm/BOJ 2019. 5. 15. 11:44
문제 보러 기기 6588번: 골드바흐의 추측 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다. 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모 www.acmicpc.net 주어진 짝수를 두 소수 홀수의 합으로 나타내는 문제이다. 문제는 두 홀 수를 a, b라 할 때, b-a가 가장 적어야 한다는 것이다. 한마디로 주어진 수 N - a(홀수 소수) =..
-
iOS) Core Data TutorialiOS 2019. 5. 13. 11:54
Core Data Tutorial Getting Started with Core Data Tutorial 을 참고하였습니다. 많이 부족하지만 거의 번역에 가까우며 공부하며 정리한 내용입니다. 자세한 원본 내용은 해당 사이트를 참고하시는 것이 좋습니다. 제 github을 통해 해당 파일을 보실 수 있습니다. Core Data 사용하기 Xcode 생성 시에 Use Core Data 를 체크해서 프로젝트를 생성한다. 이렇게 하면 AppDelegate.swfit에 NSPersistentContainer 를 생성해준다. NSPersistentContainer 는 Core Data에서 정보를 저장하고 검색하는 것을 쉽게 해주는 객체들의 집합이다. 기본적으로 대부분의 앱에서 잘 작동하지만 앱 및 데이터 요구사항에 따..
-
AboutAbout 2019. 5. 13. 10:28
Woong, iOS Developer Me 최철웅 Born is 1993.10.21 Email: ccw1021.dev@gmail.com github BOJ Education Myongji University Computer Engineering schedule, grade 4 Project iOS YoutubeClone (2019.01 ~ 02) 소개: Youtube 구현하기 개발언어: Swift, 담당부분: Personal Develop (Brian Voong 강좌) BoxOffice (2018.12) 소개: 영화 소개 Application, JSON 포맷 데이터를 받아 Collection View, Table View로 영화의 정보들을 볼 수 있는 App 개발언어: Swift 담당부분: Persona..
-
iOS) Gradient 구현하기iOS 2019. 5. 12. 16:36
개인적으로 공부하며 정리하는 블로그 입니다. 오류나 부족한 부분이 있을 수 있으니 감안하고 봐주시고 아낌없는 조언 감사드립니다 :D 자칫 잘못 사용하면 촌스러워보일 수 있지만 잘만 사용하면 세련됨의 극치를 보여주는 Gradient! Swift에서는 어떻게 사용하는지 한번 알아볼까요?? 우선 방법 자체는 매우매우 간단합니다! / View에 CAGradientLayer 객체를 만들어 뷰 레이어에 붙여주면 끝!! / 오늘은 밋밋한 배경에 Gradient로 세련됨을 추가시켜볼까 합니다 :D ( 배경을 입혀볼 기본 예제는 이전 Carousel 구현하기 를 참고해주세요! ) 방법 자체는 정말정말 간단해요! // CAGradientLayouer를 생성해주고 let gradient = CAGradientLayer() ..