(Swift) 백준 2588 곱셈 - 정수의 자릿수에 접근하기

SteadySlower·2022년 5월 4일
0

Coding Test

목록 보기
8/298

2588번: 곱셈

// 백준 2588 곱셈

let nString = readLine()!
let mString = readLine()!

let n = Int(nString)!
let m = Int(mString)!

let mArray = mString.map { Int(String($0))! }

print(n * mArray[2])
print(n * mArray[1])
print(n * mArray[0])
print(n * m)

정수의 각 자릿수에 접근하는 방법을 알 수 있는 문제입니다.

파이썬이 string[0]처럼 subscript를 통해서 random access가 가능한 것과는 달리 스위프트의 String은 해당 방법이 불가능합니다. 또한 스위프트의 String은 Array와는 달리 길이를 구하거나 특정 인덱스에 접근할 때 O(1)이 아니라 O(n)의 시간복잡도를 가집니다.

따라서 String의 각 자릿수에 접근할 때는 String을 그대로 사용하는 것보다는 위 풀이처럼 Array로 바꾸어 접근하는 것이 더 좋은 방법입니다.

profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글