Swift(23)
-
[Swift - 프로그래머스] 가장 큰 정사각형 찾기
🕵🏻 문제 해석 1과 0으로 채워진 표가 주어지면 그 표에서 1로 이루어진 가장 큰 정사각형의 넓이를 반환하는 문제입니다. 단, 정사각형은 축과 평행해야 합니다. 예시로 주어진 4 X 4의 표에서는 가장 큰 정사각형의 넓이가 9가 되겠습니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000 이하의 자연수 표(board)의 열(column)의 크기 : 1,000 이하의 자연수 표(board)의 값은 1 또는 0으로만 이루어져 있습니다. 먼저 가장 작은 크기의 정사각형으로 부터 크기를 확장하며 문제에 접근해보겠습니다. 가장 작은 크기의 정사각형은 1 X 1 크기의 1로 이루어진 정사각형이겠죠? 그다음 크기의 정사각형은 2 X 2의 1로 이루어진 정사각..
2021.05.22 -
[Swift - 프로그래머스] N개의 최소공배수 구하기
문제 해석 N개의 숫자를 담은 배열이 주어졌을 때 이 수들의 최소 공배수를 구하는 함수를 작성하는 문제였습니다. 배열의 수들은 100 이하인 자연수이고 배열의 길이는 1부터 15 이하라고 합니다. 여러 수의 최대 공배수를 구하기 위해 먼저 두 수의 최대 공배수를 구하는 방법에 대해 알아봅시다. 두 수 a, b의 최소공배수는 두 수의 곱을 두 수의 최대 공약수로 나누어 주어서 구할 수 있다는군요. 두 수의 최대 공약수는 유클리드 호제법을 이용하여 쉽게 구할 수 있습니다. 이를 이용하여 배열의 첫 번째 원소와 두 번째 원소의 최소 공배수를 구하고 구한 최소 공배수와 그다음 원소와의 최소공배수를 비교하여 전체 N개의 수의 최소 공배수를 구하는 방식으로 문제를 해결할 수 있습니다. 더 생각해보기 주어진 배열에서..
2021.05.20 -
[Swift 문법] 08. Swift 함수 기초 파고들기 2 : 중첩함수, 종료되지 않는 함수
해당 글은 야곰님의 스위프트 강의와 개인적인 공부를 정리한 글입니다. 저번 포스팅에 이어서 중첩함수와 종료되지 않는 함수, 반환 값 무시 함수에 대해서 알아보겠습니다. 1. 중첩 함수 기존의 C, C++에서는 함수안에서 다른 함수를 호출하는 것이 일반적이었습니다. 그러나 Swift에서는 함수 안에 함수를 넣어 구현을 할 수 있습니다. Swift에서 특별한 위치에 속해 있지 않는 한 모두 전역 함수인데 비해 함수 안에 구현된 중첩함수는 함수 안에서만 사용 가능합니다 (반환하면 밖에서도 사용 가능). 특히 전역함수가 많은 프로그램에서는 중첩함수를 이용하면 함수 사용범위를 좀 더 명확하게 표현해줄 수 있는 장점을 가집니다. 1. 1. 중첩 함수 예제 // 중첩 함수 typealias UpDownFunc = (..
2021.01.12 -
[Swift 문법] 07. Swift 함수 기초 파고들기 1 : 함수 선언, 일급객체?
해당 글은 야곰님의 스위프트 강의와 개인적인 공부를 정리한 글입니다. 처음 포스팅에서 Swift는 함수형 프로그래밍 패러다임이라고 언급했었던 것 기억나시나요? 그만큼 Swift의 함수에 대해서 잘 공부하고 넘어가야 할 필요가 있습니다. 이번 포스팅에서는 Swift의 기초적인 함수, 그 특징과 함수형 프로그래밍 패러다임에서 자주 등장하는 개념인 일급 객체에 대해서 알아보겠습니다. 1. Swift의 함수 Swift의 함수는 기본적으로 함수 이름, 매개 변수 (Prameter), 반환타입 (Return Type)등을 사용하여 함수를 정의합니다. 이 말은 이 세 가지 중 하나만 달라도 다른 함수라는 의미겠죠? Swift의 함수는 재정의 ( 오버라이드: Override ), 중복 정의 ( 오버로드: Overloa..
2021.01.09 -
[Swift 문법] 06. Swift 컬렉션 타입의 Set(셋)을 배워보자.
해당 글은 야곰님의 스위프트 강의와 개인적인 공부를 정리한 글입니다. 스마트폰으로 15년간 산업 생태계가 움직였다면 다음은 스마트 자동차가 아닐까요? 사람이 운전을 하는 시대는 곧 사라질 것입니다. 차에 타서 이동하는 동안 사람들이 잠만 잘 까요? 애플카가 등장한다면 그 안에서 소비되는 모든 컨텐츠와 플랫폼은 애플의 개발 언어인 Swift로 작성될 확률이 굉장히 높습니다. 그럼 같이 공부해봅시다! Swift에는 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입을 제공합니다. 컬렉션 타입에는 Array (배열), Dictionary (딕셔너리), Set (세트)가 존재합니다. 저번 포스팅에서 컬렉션 타입인 Dictionary를 다뤘다면 이번에는 Set 에 대해서 알아보겠습니다. 1. Set ..
2021.01.08 -
[Swift 문법] 05. Swift 컬렉션 타입의 Dictionary(딕셔너리)를 배워보자.
해당 글은 야곰님의 스위프트 강의와 개인적인 공부를 정리한 글입니다. 벌써 2021년이 되고나서 일주일이라는 시간이 흘렀습니다. 다들 희망찬 하루 하루를 보내고 계신가요? 눈이 많이 왔는데 감기 조심하시고 미끄러운 길 조심하시길 바랍니다. Swift에는 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입을 제공합니다. 컬렉션 타입에는 Array (배열), Dictionary (딕셔너리), Set (세트)가 존재합니다. 저번 포스팅에서 컬렉션 타입인 Array를 다뤘다면 이번에는 Dictionary에 대해서 알아보겠습니다. 1. Dictionary 의 특징 딕셔너리는 요소들이 순서 없이 키(Key) 와 값(Value)의 쌍으로 구성되는 자료구조입니다. 이 딕셔너리 안에는 같은 이름을 가진 키가..
2021.01.07