ios 개발 - 내배캠

[11/11 Swift] 프로그래머스 - 자릿수 더하기

seoleader 2024. 11. 11. 19:51

 

이 문제를 보자마자 생각한 풀이법은 우선 각 자릿수를 쪼개야겠다 였다. 그런데 어떻게 해야 쪼갤 수 있는지 몰랐고 구글링을 했더니 String을 써서 각 숫자를 불러낼 수 있었다. 

String은 Character 타입의 시퀀스로 구성된다고 한다. 시퀀스(sequence)란 '순서가 있는 데이터들의 나열'을 의미한다. 대표적인 타입으로는 Array, String, Dictionary가 있다. 시퀀스를 사용하면 데이터들을 차례대로 하나씩 순회할 수 있어 for문에서 많이 사용한다.

Int(String(i))는 숫자형이 아닐 경우 nil을 출력해야하므로 옵셔널 타입이다. 이 코드에서는 숫자형인 게 보장되므로 강제 언래핑을 사용하고 있다.

 

다른 사람들의 풀이를 보다가 발견한 풀이법이다. 주어진 숫자를 10으로 나눴을 때의 나머지들을 계속 더하고 또 그 숫자를 10으로 나눠서 나머지를 구하면 그다음 자리의 숫자를 빼낼 수 있게 된다.