728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
class Solution {
fun solution(x: Int): Boolean {
var xString = x.toString().chunked(1);
var num = 0;
for (i in 0..xString.size-1) {
num += Integer.parseInt(xString[i]);
}
return if (x % num == 0) true else false;
}
}
테스트 1 〉 | 통과 (10.14ms, 64.1MB) |
테스트 2 〉 | 통과 (8.73ms, 64.4MB) |
테스트 3 〉 | 통과 (10.15ms, 63.7MB) |
테스트 4 〉 | 통과 (12.17ms, 62.8MB) |
테스트 5 〉 | 통과 (13.80ms, 64.3MB) |
테스트 6 〉 | 통과 (11.47ms, 65MB) |
테스트 7 〉 | 통과 (8.40ms, 64.9MB) |
테스트 8 〉 | 통과 (11.43ms, 64.2MB) |
테스트 9 〉 | 통과 (8.38ms, 63.9MB) |
테스트 10 〉 | 통과 (8.27ms, 63.9MB) |
테스트 11 〉 | 통과 (8.14ms, 65MB) |
테스트 12 〉 | 통과 (8.55ms, 64.1MB) |
테스트 13 〉 | 통과 (10.25ms, 64.5MB) |
테스트 14 〉 | 통과 (9.44ms, 65.1MB) |
테스트 15 〉 | 통과 (8.09ms, 64.9MB) |
테스트 16 〉 | 통과 (8.55ms, 64.1MB) |
테스트 17 〉 | 통과 (7.94ms, 63.8MB) |
코틀린에서 문자열을 배열로 만드는 방법으론 split과 chunked 두 가지의 함수가 있다.
근데 자바와 같이 split("")은 계속 오류가 나서 코틀린에서는 구분자를 제대로 넣어야 진행할 수 있는 것 같고, 그래서 chunked(길이)를 이용하여 배열로 만들었다.
그리고 리턴할 때 역시 코틀린은 삼항 연산자가 없어서 x % num == 0 ? true : false 가 오류가 났고,
삼항 연산자를 쓸 수 없다는 것을 알게 되서 if (x % num == 0) true else false; 로 표현하였다.
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[kotlin] 프로그래머스 - 콜라츠 추측 (1단계) (0) | 2022.03.31 |
---|---|
[kotlin] 프로그래머스 - 평균 구하기 (1단계) (0) | 2022.03.31 |
[kotlin] 프로그래머스 - 핸드폰 번호 가리기 (1단계) (0) | 2022.03.30 |
[Java] 프로그래머스 - 크레인 인형뽑기 게임 (1단계) (0) | 2022.03.30 |
[kotlin] 프로그래머스 - 행렬의 덧셈 (1단계) (0) | 2022.03.29 |