본문 바로가기

반응형

Swift

(356)
[iOS] UIImage Rendering Mode에 대해 알아보자! 앱을 개발하면서, SF Symbols에 있는 이미지를 사용할 때가 있는데, 이미지의 색깔이 이상하게 나오는 경우가 있었을 것입니다. UIImage의 Rendering Mode에 대해 알아봅시다. 간단하게 스토리보드로 ViewController에 UIImageView를 하나 추가하고, Outlet으로 연결해주었습니다. 이제 이 이미지뷰의 이미지를 "cloud.rain.fill"로 코드로 작성해주겠습니다. SF Symbols에서 확인해보니 이렇게 생겼군요..! 실행된 시뮬레이터를 보면 초기로 셋팅된 틴트컬러로 이미지가 나오는 것을 확인하실 수 있습니다. 이제 UIImage의 Render Mode에 대해 확인해보겠습니다. 가장 먼저 공식문서를 살펴보겠습니다. https://developer.apple.com/..
[BOJ] 백준 1546 평균 (Swift) 문제 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 나눗셈 연산을 위해 Double 자료형으로 입력을 받아야 함 입력받은 점수를 원래점수 / 가장 큰 점수 * 100으로 변환 후, 시험 본 과목의 갯수로 나눠주면 새로운 평균 값을 구할 수 있음 map을 사용하면 쉽게 풀이할 수 있음 소스코드 후기 고차함수 map과 reduce를 사용하면 반복문을 사용하지 않고도 가독성 좋게 풀이할 수 있는 것 같다.
[BOJ] 백준 3052 나머지 (Swift) 문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 입력받은 수에서 42로 나눈 나머지를 Set 자료형에 넣어준 후, Set 자료형의 count로 접근하면 쉽게 풀 수 있다! 소스코드 후기 Set 자료형에 대해 알고 있다면 쉽게 풀 수 있는 문제인 것 같다.
[BOJ] 백준 5597 과제 안 내신분..? (Swift) 문제 https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 풀이 문제에 출석번호에 중복은 없다.라는 문장을 보고 Set 자료형을 사용하면 될 것 28번 반복문을 돌려 입력받아서 Set 자료형에 넣어주고 1부터 30중 Set에 없는 번호를 출력해주면 풀이할 수 있음 소스코드 후기 Dictionary, Array, Set 등의 다양한 방법으로 풀이할 수 있지만 Set이 문제의 의도에 가장 맞아보임 1부터 30까지의 수를 Set 자료형에 넣어..
[BOJ] 백준 16719 ZOAC (Swift) 문제 https://www.acmicpc.net/problem/16719 16719번: ZOAC 2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로 www.acmicpc.net 풀이 사전 순으로 가장 앞에 오도록 하는 문자를 선택 해야 하는데, 그렇다면 선택되지 않은 문자중 가장 빠른 문자를 선택해야 할 것 그 이후에는 선택된 문자로부터 오른쪽에 있는 문자를 선택해야 사전 순으로 더 앞설 것임 BAB라는 문자열이 입력으로 주어졌을 때를 예로 들어보자. 밑에 적은 숫자는 index 숫자에요. 맨 처음에는 당연히 A가 선택되겠죠? 왼쪽에 있는 B를 선택했을 때..
[Swift] 튜플 (tuple) 에 대해 알아보자! 튜플(tuple)은 자료형의 묶음 이라고 표현할 수 있어요. 지금까지 기본 데이터 타입에 대해 알아보았죠? (Int, Double, String, Any 등등..) 이것들을 괄호를 사용해서 묶을 수 있어요. 같은 자료형이 아니더라도, 묶을 수 있어요. book이라는 프로퍼티를 선언하고, 이름, 가격, 베스트셀러인지 아닌지의 정보를 갖고 있는 튜플을 선언해보겠습니다. 괄호를 사용해서 묶어주면 끝.. 입니다. 인덱스 (0, 1 ..) 를 통해서 값을 빼올 수도 있고, 수정도 가능합니다. 인덱스로 접근하게 되면, 각 요소가 어떠한 의미가 있는지 알기 어렵네요.. 요소에 이름을 붙여서 접근하는 방법도 있습니다. 튜플 타입이 길어지기 때문에 불편한 점이 있는데 typealias을 사용해서 축약하여 작성할 수 있어..
[Swift] 기본 자료형에 대해 알아보자! - 4 (Float, Double) 이번 포스팅에서는 부동소수 타입인 Float과 Double에 대해 알아보도록 하죠! 여기서 부동소수 타입이란, 실수로 이해하시면 될 것 같습니다. 이 부동소수 타입은 정수 타입보다 더 넓은 범위의 수를 표현할 수 있어요. Double은 64비트의 부동소수, Float은 32비트의 부동소수 표현을 합니다. 비트로 설명하니깐 몇자리인지 와닫지 않을 수 있는데요, 64비트는 최소 15자리, 32비트는 6자리의 숫자까지만 표현이 가능합니다. 저는 대부분 실수 타입을 선언할 때, Float보다는 Double을 훨씬 많이 사용하는 것 같아요. Float를 사용하면, 정확도가 Double 타입보다는 낮은 것 같습니다. Double 자료형과 같은 값을 넣어줬는데도 다른 결과가 나오는 것을 확인하실 수 있어요. (알아서..
[BOJ] 백준 2562 최댓값 (Swift) 문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 array의 인스턴스 메서드인 max에 대해 안다면 최댓값을 쉽게 구할 수 있음 [공식문서 (max)] array의 인스턴스 메서드인 firstIndex에 대해 안다면 최댓값이 몇 번째 수인지 쉽게 구할 수 있음 [공식문서 (firstIndex)] index는 0부터 시작하니깐 찾은 index에서 1을 더해서 출력해주자..! 소스코드 후기 firstInd..

반응형