opendoor_life

'개발자의 성장일기'가 되었으면 좋겠습니다만?

Dev/Algorithm

Swift Algorithm :: 백준 1008번 A/B 알고리즘 풀이 (+ TIL, Today I Learned)

opendoorlife 2021. 1. 7. 23:46
반응형

문제
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력
첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

 

Solution 1

- 시간 :  8 ms

- 메모리 :  62,172 KB

- 코드길이 :  78 B

print(1 / readLine()!.split(separator: " ").map{ Double($0)! }.reduce(1){ $1 / $0 })

 

Solution 2

- 시간 :  8 ms

- 메모리 :  62,172 KB

- 코드길이 :  85 B

let arr = readLine()!.split(separator: " ").map{ Double($0)! }
print(arr[0] / arr[1])

 

Solution 3

- 시간 :  12 ms

- 메모리 :  79,132 KB

- 코드길이 :  110 B

import Foundation
let arr = readLine()!.components(separatedBy: " ").map{ Double($0)! }
print(arr[0] / arr[1])

 


 𝐓𝐨𝐝𝐚𝐲 𝐈 𝐋𝐞𝐚𝐫𝐧𝐞𝐝 

1. components(separatedBy:)

- 공식문서 developer.apple.com/documentation/foundation/nsstring/1413214-components

- Framework Foundation (★★)

- 1000번 문제 풀이(TIL)에서도 이미 한 번 정리했지만, components function은 foundation 라이브러리를 import 해줘야 한다. 메모리와 시간을 많이 잡아 먹으니까 필요 없다면 쓰지 말자!

 

Declaration

func components(separatedBy separator: String) -> [String]
반응형