프로그래머스 코딩테스트 / 약수의 합
·
Algorithm
약수는 mod로 계산했을 때 값이 0이 나오기 때문에 그 값을 더해주는 식으로 풀어봤다. class Solution { fun solution(n: Int): Int { var answer = 0 for (i in 1..n) { if(n % i == 0) { answer += i } } return answer } } if문으로 약수의 값을 구하고 answer에 하나씩 더해준 후 return했다. 다른사람의 풀이 class Solution { fun solution(n: Int): Int { var answer = 0 answer = (1..n).filter { n % it == 0 }.sum() return answer } } filter함수를 사용해 훨씬 보기 깔끔하다. filter는 Boolean값..
프로그래머스 코딩테스트 / 자릿수 더하기
·
Algorithm
한 덩어리의 숫자를 쪼개서 값을 더해야한다. 아무리 봐도 이해가 가지 않아서 풀이를 보고 풀었다. class Solution { fun solution(n: Int): Int { var answer = 0 val str: String = n.toString() val numbers = str.toCharArray().map { it.digitToInt() } answer = numbers.sum() return answer } } n을 String으로 변환시킨다. String으로 변환시킨 n을 Char로 쪼갠다. map으로 Int 타입으로 변경시킨다. (문자 변수를 그대로 Int 시키면 아스키코드이기 때문에 변환이 제대로 되지 않는다. digitToInt()를 사용하면 숫자 그대로 출력이 된다. 다른사람..