728x90

전체 글 116

LeetCode1365. How Many Numbers Are Smaller Than the Current Number

1. 문제(원본) Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. That is, for each nums[i] you have to count the number of valid j's such that j != i and nums[j] < nums[i]. Return the answer in an array. Example 1: Input: nums = [8,1,2,2,3] Output: [4,0,1,1,3] Explanation: For nums[0]=8 there exist four smaller numbers than it (1, 2, 2 and 3). For nums..

알고리즘/해결 2020.03.08

[Swift] StopWatch 만들어보기 - Step 2

전 글에서 제작한 베이스에서 타임 기능 등을 추가해 타임 워치를 완성시켜보겠습니다. 추가될 기능은 아래와 같습니다. 1. 시작과 기록의 상태를 관리하는 변수 2. 타이머 3. 테이블 뷰를 자동으로 스크롤시키기 그럼 시작해보겠습니다. 1. State 설정 저는 시작 버튼으로 기록까지 기능을 구현할 것이기 때문에 상태를 지정해서 처리를 나눌 수 있도록 해보았습니다. 그러기 위해서 enum을 사용해서 상태를 관리하는 것이 편합니다. 그리고 초기 설정을 지정! /// 시작과 기록의 상태 enum WatchStatus { case start case stop } /// 버튼의 상태 var watchStatus: WatchStatus = .start 2. 타이머 개시 이제 타이머를 실행해 보겠습니다. 타이머의 ti..

Swift/데모 개발 2020.03.07

[Swift] StopWatch 만들어보기 - Step 1

오늘은 간단한 프로젝트를 하나 진행해보겠습니다. 주제는 타임 워치입니다. 간단하면서도 뭔가 만들었다는 성취감을 느낄 수 있는 프로젝트가 될 것 같습니다. 이번 글에서의 스톱 워치는 기능으로는 아래와 같습니다. 1. 시작 2. 기록 (버튼으로는 Stop) 3. 리셋 (한 번 누를 시 모든 기록 삭제, 모든 기록이 삭제되어 있는 상태에서 한 번 더 누르면 종료) 그러면 Step 1으로서 디자인 과정부터 시작해보겠습니다. 1. 프로젝트 생성 가장 처음에 진행하는 작업인 프로젝트 생성입니다. 자유롭게 프로젝트 명 설정을 해주시면 됩니다. 2. 디자인 구성 제가 이번 과정에서 쓴 컨트롤은 라벨, 버튼, 테이블 뷰, 테이블 뷰 셀입니다. 그리고 라벨과 버튼 같은 경우는 여러 개를 나열해서 사용하기 때문에 스택 뷰를..

Swift/데모 개발 2020.03.07

[Swift] 문자열의 인코딩

이번에는 Base64를 사용해서 문자열 인코딩을 알아보겠습니다. 아래는 Base64에 대한 설명입니다. 컴퓨터 분야에서 쓰이는 Base 64 란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다. 원래 Base 64를 글자 그대로 번역하여 보면 64진법이란 뜻이다. 특별히 64진법이 컴퓨터에서 흥미로운 것은, 64가 2의 제곱수(64 = 26)이며, 2의 제곱수들에 기반한 진법들 중에서 화면에 표시되는 ASCII 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문이다. 즉, 다음 제곱수인 128진법에는 128개의 기호가 필요한데 화면에 표시되는 ASCII 문자..

Swift/학습 2020.02.23

[Swift] Where에 대해

이번에는 Where에 대해 알아보겠습니다. Where은 간단히 설명드리면 특정적인 패턴과 결합해서 조건을 추가하는 문입니다. (저는 보통 for와 같은 반복문 안에서 한 가지의 조건을 검색하여 값을 구하는 경우 주로 사용합니다.) 물론 if문이나 switch문 등과 같은 다양한 곳에서도 활용 가능합니다. 1.Where 간단한 예제를 통하여 이해해보겠습니다. 아래는 1부터 100까지의 수에서 3의 배수만을 찾는 처리입니다. for element in 1...100 { if element % 3 == 0 { print(element) } } 위와 같이 if문을 사용해서 처리를 할 수도 있지만 Where을 사용하면 아래와 같이 더욱 깔끔히 로직을 작성할 수 있습니다. (코드 수를 줄이거나 할 때 자주 사용합니..

Swift/학습 2020.02.23

[Swift] Slider사용해보기

Swift에서 제공하는 Slider 컨트롤에 대해 알아보겠습니다. Slider를 사용하여 해당 뷰의 백그라운드 컬러를 변경하는 어플을 만들어 보겠습니다. 장점으로는 직접 입력하지 않고 Slider조절로 간단하게 값을 변경할 수 있습니다. 1. 프로젝트 생성 & Slider도입 Slider도입은 스토리보드 [+] Slider를 입력하여 간단히 사용할 수 있습니다. 2. 디자인 구성 어플의 디자인을 구성합니다. (디자인과 제약에 관해서는 자유롭게 진행합니다.) 3. Slider설정 Slider의 값을 설정해줍니다. 이번에 만들 어플은 컬러의 RGB 값을 활용하는 것이기 때문에 최소치를 0, 최대치를 255로 지정해 줍니다. (저는 초기설정을 하얀색으로 하기 위해 255로 지정해주었습니다.) Value의 값은..

Swift/학습 2020.02.16
728x90