분류 전체보기 91

[프로그래머스/코틀린(Kotlin)] 내적

a와 b의 내적을 리턴하기 예시) 풀이 for문을 사용해서 반복시키기 제출 코드 (코드 해석해 보기) 내적이라는 걸 처음 들어봐서 당황했으나, 예시와 공식이 나와있어서 다른 문제들에 비해서 무난하게 for문을 활용하여 풀었다 for문을 이용해서 a배열의 사이즈만큼 반복시키고 내적을 구하는 공식을 대입해 줬다 상당히 어려울 줄 알았는데, 생각보다 일찍 해결해서 다른 사람들의 풀이를 봤는데 zip, mapIndexed, indices라는 것들을 알게 되었다 zip zip은 Index 순서가 동일한, 서로 연관된 리스트를 더욱 쉽게 사용한다 a.zip(b) a와 b리스트의 값을 직접 묶기보단, 두 리스트값을 이용하여 새로운 값을 만들 때 사용된다 a zip b List로 반환되며, 두 리스트의 값을 온전히 묶..

[코틀린(Kotlin)] BMI 계산기

제 지식이 아닌, 잘 모르는 상태에서 따라 만드는 과정입니다 메인화면 레이아웃 XML파일에서 디자인 탭을 눌러 폼을 이용하여 BMI 계산기의 포맷을 만들어준다 TextView와 editText, Button을 각각 상하 좌우 정렬을 해준다 각 뷰를 클릭해서 상하, 좌우 정렬 및 텍스트 사이즈, 스타일을 조정해 준다 가로로 정렬시킬 TextView들은 한 번에 묶기 위해 Chains → Create Horizontal Chain을 해준다. 그 후 Chain → Chain Horizontal Chain Style → packed으로 설정해 준다 실행 결과 아직 코드가 없기 때문에 숫자만 입력할 수 있다 그리고 숫자가 왼쪽정렬되어 있기 때문에 다소 불편하다 android:gravity="center"를 이용해..

[프로그래머스/코틀린(Kotlin)] 가운데 글자 가져오기

배열 s의 가운데 글자를 반환하기 but, 단어의 길이가 짝수일 경우 가운데 두 글자를 반환하기 예시) 풀이 if else문을 사용해서 단어의 홀수, 짝수 일 때 구분하기 .get을 사용해서 배열 속 인덱스 찾기 제출 코드 (코드 해석해 보기) 배열 s속 인덱스를 찾기 위해서 s.get을 사용해 준다 짝수일 땐 s.length/2-1로 가운데 앞과 , s.lenghth/2로 가운데 뒤쪽을 받는다 홀수일 땐 s.length/2로 가운데 글자를 받는다 (단어의 길이가 홀수일 땐 s/2+1, 짝수일 땐 s/2와 s/2+1 글자를 리턴하면 되는데,get(인덱스) 임을 잊지 말자) to.String().. 처음 제출한 코드에는 짝수일 경우에 s.get(s.length/2-1)로 썼었다 왜 또 도대체 에러가 뜬 건..

[프로그래머스/코틀린(Kotlin)] 제일 작은 수 제거하기

정수 배열 arr에서 가장 작은 수를 제거하기 but, 빈 배열인 경우엔 -1을 리턴하기 예시) 풀이 filterNot을 사용해서 minOrNull() 제거하기 빈 배열(인덱스가 0인)은 intArrayOf(-1)로 -1 리턴하기 제출 코드 (코드 해석해 보기) 빈 배열일 경우 -1을 리턴하기 위해 arr.size가 1일 때 intArrayOf(-1)로 -1을 리턴 시킨다 filterNot을 사용해서 minOrNull()을 제외하고 리턴 시킨다 (filterNot 대신 filter를 사용하고 it != arr.minOrNull() 해도 된다) 리스트가 Int형이기 때문에 toIntArray()로 변형시켜 준다 filterNot을 사용하는 것까진 좋았다 그런데 arr.minOrNull()이 아니라 arr...

[프로그래머스/코틀린(Kotlin)] 없는 숫자 더하기

0부터 9까지의 숫자 중 일부로 이루어진 정수 배열 numbers에서 해당하지 않는 수들의 합 구하기 예시) 풀이 (0~9 사이의 숫자의 합) - (numbers배열의 합) = (numbers배열에 없는 숫자들의 합) 제출 코드 (코드 해석해 보기) (0..9).sum() = 0부터 9까지 숫자의 합 numbers.sum()을 이용해서 빼준다 (filter를 이용해서 풀어보려 했는데.. 훨씬 쉬운 방법을 선택했다..)

[프로그래머스/코틀린(Kotlin)] 핸드폰 번호 가리기

끝자리 4개를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하기 예시) 풀이 mutableList 사용하기 List에서 Set을 사용하여 뒷자리를 제외한 나머지 숫자를 *로 수정해 주기 joinToString 사용하기 제출 코드 (코드 해석해 보기) 배열을 mutableList를 사용해서 리스트화시킨다. length-4까지만(처음부터 끝에서 5번째까지만) 반복시킨다 set을 사용해서 처음부터 끝에서 5번째까지의 인덱스의 값을 *로 수정해 준다 joinToString("")을 이용해서 출력 시에 구분자(,)를 없애준다 배열을 보고 리스트화를 이용해서 쉽게 풀 수 있을 줄 알았다 Set을 사용해서 리스트 속 인덱스 수정까지는 떠올랐기 때문이다 하지만 joinToString을 몰랐었던 내게 큰 시련이 ..

[프로그래머스/코틀린(Kotlin)] 음양 더하기

signs배열의 정수를 이용해서 absolutes배열 속 정수들의 합을 구하기 예시) 풀이 불리언(boolean) 타입이 참일 때와 거짓일 때를 구분한다 absolutes.size만큼 반복해서 if문을 이용해서 각 조건에 맞게 더하거나 빼준다 참일 때, 양수이므로 더해준다 거짓일 때, 음수이므로 빼준다 제출 코드 (코드 해석해 보기) 우선, booleanArray라는 것을 처음 알았다. 검색해 본 결과, 제한 사항에 있듯이 signs[i]가 양수일 땐 true, 음수일 땐 false를 반환시켜주는 배열이었음을 알았다. (처음 보는 배열이라 문제를 이해할 생각보다 booleanArray가 뭔지부터 알고 싶었다) for문을 이용해서 ( i in 0 until absolutes.size)까지 반복시키고 (ab..

[프로그래머스/코틀린(Kotlin)] 나누어 떨어지는 숫자 배열

임의의 배열 속 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하고, divisor로 나누어 떨어지는 element가 하나도 없으면 배열에 -1을 담아 반환하기 예시) 풀이 배열의 리스트화를 위해 mutableListOf() 사용하기 오름차순 sort() 사용하기 반복문 for를 사용해서 배열 속의 element가 divisor로 나누어 떨어지는 수 찾기 divisor로 떨어지는 element일 때 해당 element를 배열에 추가 제출 코드 (코드 해석해 보기) mutalbeListOf()로 리스트화시킨 후 반복문 for를 이용해 해당 조건일 때 리스트에 해당 element를 추가해 준다 (for (i in 0 until arr.size) => 인덱스는 0부터니까..