Programmers/Lv. 1 33

[Kotlin] Programmers Lv.1 콜라츠 추측

https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(num: Int): Int { var number: Long = num.toLong() var answer = 0 while (answer < 500){ if (number == 1L) return answer if (number % 2 == 0L) number /= 2 else number = number * 3 + 1 answer+..

Programmers/Lv. 1 2023.08.21

[Kotlin] Programmers Lv. 1 두 정수 사이의 합

https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code import kotlin.math.max import kotlin.math.min class Solution { fun solution(a: Int, b: Int): Long = (min(a,b)..max(a,b)).sumOf { it.toLong() } } 이 문제의 함정아닌 함정은 a와 b의 대소관계가 정해져있지 않다는 것이다. 그것도 모르고 (a..b)로 하고는 왜 안되는지 한참 고..

Programmers/Lv. 1 2023.08.19

[Kotlin] Programmers Lv. 1 하사드 수

https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(x: Int): Boolean = (x % (x.toString().sumOf { it.digitToInt() })) == 0 } 이것도 생각보다 간단했다. x의 자릿수만큼 계산하는 것이 아닌, 그냥 String으로 만들고 int로 합을 구한다. 그렇게해서 x를 나눠보고 나눠떨어지면 true, 아니면 false다.

Programmers/Lv. 1 2023.08.18

[Kotlin] Programmers Lv.1 정수 내림차순으로 배치하기

https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(n: Long): Long = n.toString().toList().sortedDescending().joinToString("").toLong() } 귀찮아서 함수로 해결했다. long을 string으로 만들고, 정렬한 후 String으로 합쳐준 후 다시 Long으로 만들어 줬다.

Programmers/Lv. 1 2023.08.17

[Kotlin] Programmers Lv. 1 정수 제곱근 판별

https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code import kotlin.math.sqrt class Solution { fun solution(n: Long): Long { var temp = sqrt(n.toDouble()).toLong() return if (temp * temp == n) (temp+1) * (temp+1) else -1 } } 정수 n이 주어졌을 때, 해당 숫자가 특정 숫자의 제곱인지 확인하는 문제다. 가장 쉬..

Programmers/Lv. 1 2023.08.16

[Kotlin] Programmers Lv. 1 문자열을 정수로 바꾸기

https://school.programmers.co.kr/learn/courses/30/lessons/12925 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(s: String): Int = s.toInt() } 이게 왜 Lv.1 ..? 사실 부호가 껴있어도 바로 Int로 바뀌는지는 몰랐는데 덕분에 알게됐다. "-123"이 바로 -123이 되네

Programmers/Lv. 1 2023.08.15

[Kotlin] Programmers Lv. 1 x만큼 간격이 있는 n개의 숫자

https://school.programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { /* fun solution(x: Int, n: Int): LongArray { var answer = longArrayOf() var temp:Long = 0 repeat(n){ temp += x answer = answer.plus(temp) } return answer } */ fun solution(x: Int, n: Int): LongArray = ..

Programmers/Lv. 1 2023.08.14

[Kotlin] Programmers Lv. 1 나머지가 1이 되는 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(n: Int) = (1..n).first { n % it == 1 } /* fun solution(n: Int): Int { var answer: Int = 0 for(i in 1 until n){ if (n % i == 1) return i } return n-1 } */ } 사실 더 좋은 아이디어가 있는지는 모르겠지만, 하나씩 순회..

Programmers/Lv. 1 2023.08.13

[Kotlin] Programmers Lv. 1 자릿수 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(n: Int): Int = n.toString().sumOf { it.digitToInt() } } 각 자리수를 더하면 된다. 물론 전통적인 방법인 10으로 나눈 나머지를 sum에 더하고 10으로 나누는 그런 방법을 써도 되지만 귀찮았다. 하나씩 적는것보다 저게 더 간단하니까... sumOf라는 함수를 사용하기 위해 n을 String으..

Programmers/Lv. 1 2023.08.11

[Kotlin] Programmers Lv. 1 자연수 뒤집어 배열로 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code class Solution { fun solution(n: Long): IntArray = n.toString() .reversed() .map { it.digitToInt() }.toIntArray() } 처음에는 입력받은 값을 각각 분리해야한다 라는 생각이 너무 커서 split을 썼었다. split("")을 쓰니까 ""값이 두개가 생겼고, 이를 없애기 위해 filter{it!=""}을..

Programmers/Lv. 1 2023.08.09