본문 바로가기

Swift9

[백준] 1076: 저항 - Swift 노션에서 보기 문제 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다. 예를 들어, 저항에 색이 yellow, violet, red였다면 저항의 값은 4,700이 된다. 입력: 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다. 출력: 입력으로 주어진 저항의 저항값을 계산하여 첫째 줄에 출력한다. 풀이 달리 어려울 게 없는 문제인데 아차차 포인트가 두개 정도 있었다. import Foundation let first = readLine()!, second = readLine()!.. 2021. 1. 6.
[백준] 1009: 분산 처리 - Swift 노션에서 보기 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 a^b개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. 입력: 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a.. 2021. 1. 6.
고차함수 내용정리 (map, filter, reduce) 노션에서 보기 고차함수 내용정리 (map, filter, reduce) Swift 고차함수에 대하여 www.notion.so 0. 고차함수 고차함수란? 매개변수로 함수를 받는 함수를 말한다. Swift에서 함수는 일급시민이기 때문에 다른 함수를 전달인자로 받을 수 있다. Swift 표준 라이브러리에서는 다음과 같은 고차 함수를 제공한다 map filter reduce 모두 Container *(Array, Set, Dictionary 등)와 *Optional 타입에서 사용할 수 있다. for-in 구문과 기본적인 작동 원리가 같으나, 다음과 같은 이점이 있다. 코드가 간결하다 재사용이 쉽다 컴파일러 최적화 성능이 좋다 1. Map map이란? 제공된 클로저를 각 항목에 적용한 후, 원래의 순서와 같도록 .. 2021. 1. 6.
[백준] 4673: 셀프 넘버 - Swift 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라.. 2021. 1. 3.