본문 바로가기

반응형

분류 전체보기

(400)
[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..
[BOJ] 백준 10818 최소, 최대 (Swift) 문제 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 문제 제목 그대로 배열의 최소 값, 최대 값을 구하는 문제 min(), max()로 배열의 최소 값, 최대 값을 구하면 되겠군! 소스코드 후기 Array 자료형의 min(), max() 인스턴스 메서드를 알 고 있다면 쉽게 풀 수 있는 문제
[BOJ] 백준 10871 X보다 작은 수 (Swift) 문제 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 배열을 입력받아서 입력 받은 배열중 X보다 작은 수를 출력시키는 문제 반복문을 돌려서 X보다 작으면 출력, 아니면 continue 하는 방식으로 풀이할 수 있음 Swift에서는 고차함수 중 하나인 filter를 사용해서 X보다 작은 수들만 걸를 수 있음 소스코드 후기 입력받은 배열을 반복문을 사용해서 돌면서 원소가 X보다 작은지 체크하는 방법도 있지만, filter를 사..
[BOJ] 백준 10807 개수 세기 (Swift) 문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 풀이 고차함수인 filter를 사용하면 쉽게 풀이할 수 있는 문제 소스코드 후기 for문으로 array를 돌면서 v와 같으면 count를 1씩 늘려주는 방식으로도 풀이가 가능 하지만 filter에 대해 안다면 filter를 써서 풀이하는게 depth도 줄어들고 더 직관적인 것 같다.
[BOJ] 백준 1110 더하기 사이클 (Swift) 문제 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 문제를 차근차근 읽고 풀어보자. 먼저, 새롭게 만들어질 수, 계산에 사용될 수, 그리고 맨 처음 입력받은 수를 선언한다. 새로운 수는 -1로 초기화를 해줌 (입력 받은 수가 0보다 크고 99보다 작기 때문, -1, 100, 101 머 상관없음) while문을 돌리고, 종료 조건은 새로운 수가 맨 처음 입력받은 수와 같을 때로 설정 이제 문제에 나온 것을 그대로 작성해서 새..
[BOJ] 백준 10951 A+B - 4 (Swift) 문제 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Swift에서 cmd + D 를 입력해서 EOF를 입력시킬 수 있음 EOF가 나오기 전까지 입력을 받으려면 while-let 구문으로 입력받을 수 있음 10952 문제에서 사용한 while let에 입력이 [0, 0]이 아닌지 확인하는 조건만 지우면 정답 https://dev-mandos.tistory.com/50 [BOJ] 백준 10952 A+B - 5 (Swift) 문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받..

반응형