본문 바로가기

프로그래머스(Kotlin)

(13)
[프로그래머스 (Kotlin)] 하샤드 수 코드 힌트자리수 합 계산:숫자 x의 각 자리 수를 구한 뒤 그 합을 계산합니다.이 과정은 주어진 수를 10으로 나누어가면서 마지막 자릿수를 추출하고 이를 계속 더하는 방식으로 이루어집니다.하샤드 수 판별:구한 자리수의 합 n으로 원래 숫자 x를 나누었을 때 나머지가 0이면, x는 하샤드 수입니다.그렇지 않으면 하샤드 수가 아닙니다.정답은 더보기 클릭더보기class Solution { fun solution(x: Int): Boolean { var n = 0 // 각 자리 숫자의 합을 저장할 변수 var num = x // x 값을 복사해서 사용할 변수 while (num > 0) { // n..
[프로그래머스 (Kotlin)] 자연수 뒤집어 배열로 만들기 코드 힌트 (2가지 방법)자릿수 추출:주어진 숫자 n을 10으로 나눈 나머지를 이용하여 자릿수를 역순으로 추출합니다.각 자릿수를 리스트에 추가하고, 나눗셈으로 자릿수를 줄여나가며 모든 자릿수가 추출될 때까지 반복합니다.리스트와 배열 변환:자릿수를 저장한 mutableList는 동적으로 크기를 조정할 수 있기 때문에 적합합니다. 마지막으로 toIntArray()를 이용해 리스트를 배열로 변환합니다.  문자열 변환 후 처리:숫자 n을 먼저 문자열로 변환한 후, reversed()를 이용해 숫자의 자릿수를 뒤집습니다.각 문자(char)를 digitToInt()로 변환해 숫자 배열을 생성합니다.간결한 배열 생성:중간 리스트 없이 toIntArray()를 통해 직접 배열로 변환하여 코드가 더욱 간결해집니다. 정답..
[프로그래머스 (Kotlin)] 특정 문자 제거하기 코드 힌트replace()를 사용한 방법:replace() 메서드를 사용하여 my_string에서 letter와 일치하는 모든 부분을 빈 문자열로 대체하는 방법입니다.이 방식은 간단하며, 문자열 내 모든 letter를 제거합니다.예시: my_string.replace(letter, "")filter()를 사용한 방법:filter() 메서드를 사용해 문자열의 각 문자를 검사하여, letter와 동일하지 않은 문자들만 남겨 새로운 문자열을 생성하는 방법입니다.이 방법은 각 문자를 개별적으로 처리할 수 있습니다.예시: my_string.filter { it != letter[0] }filterNot()를 사용한 방법:filterNot() 메서드는 filter()와 반대 동작을 수행하며, 조건에 맞는 문자를 제..
[프로그래머스 (Kotlin)] 두 수의 나눗셈 코드 힌트수학적 접근:이 함수는 num1을 num2로 나눈 결과에 1000을 곱하여 비율을 계산합니다.이 과정은 num1이 num2에 대해 얼마나 큰지를 백분율로 나타내는 것입니다.결과적으로, 비율을 1000배 확대하여 소수점을 없애고 정수로 반환합니다.형변환 사용:num1과 num2는 정수형(Int)이지만, 나누기 연산에서 정수형을 실수형(Double)으로 변환하여 나누기를 수행합니다.이를 통해 정확한 결과를 보장하고, 나누기 후 다시 정수형으로 변환하여 반환합니다.toDouble() 메서드를 사용하여 정수형 값을 실수형으로 변환합니다.마지막에 toInt() 메서드를 사용하여 최종 결과를 정수형으로 변환합니다. 정답은 더보기 클릭더보기class Solution { fun solution(num1:..
[프로그래머스 (Kotlin)] 배열 만들기 1 배열을 생성하는 여러가지 방법 1. IntArray(크기) {요소 추가}class Solution { fun solution(n: Int, k: Int): IntArray { // IntArray(n / k): n을 k로 나눈 크기의 배열 생성 // { i -> (i + 1) * k }: i는 0부터 시작해서 배열 크기 - 1까지 증가하며, 각 인덱스에 (i + 1) * k 값을 할당 // 즉, k의 배수를 배열에 차례대로 추가 var result = IntArray(n / k) { i -> (i + 1) * k } return result }  2. 범위 연산자와 toList() 사용class Solution { ..