프로그래머스 알고리즘(4)
-
프로그래머스 알고리즘 Level 1 코틀린 기사단원의 무기
1. 첫 번째 풀이 - 과정은 맞는데 결과는 시간초과 class Solution { fun solution(number: Int, limit: Int, power: Int): Int = (1..number).map { i -> (1..i).count { i % it == 0 } }.map { if (it > limit) power else it }.sumOf { it } } 일단 이걸로 돌려봄 BUT 과정은 맞지만 시간복잡도에서 쓰레기임. 약수를 찾으려고 1부터 찾으려는 약수까지 반복문을 돌려서 count로 찾음. 이렇게 하면 O(N^2)인데 10만이면 10만 X 10만... 시간 초과 오류와 함께 해결 하지 못함. 2. 두 번째 풀이 - sqrt를 활용한 최적화 import kotlin.math.sqr..
2023.01.22 -
프로그래머스 알고리즘 Level1 코틀린 명예의 전당
https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이 class Solution { fun solution(k: Int, score: IntArray): List = score.indices.map { i-> score.slice(0..i).sortedDescending().filterIndexed { index , i -> index>>> slice(0.. i) 하면 현재 들어오는 값 포함 list가 나온다. 이렇게 하나씩 올 때 ..
2023.01.22 -
프로그래머스 알고리즘 Level 1 코틀린 가장 가까운 글자
모든 출처는 프로그래머스에 있습니다. https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫 번째 생각 풀이 2중 for문을 이용해서 찾는 문자의 앞문자부터 검색해서 cnt를 찾아서 list에 add 하는 방법 class Solution { fun solution(s: String): IntArray { var answer: IntArray = intArrayOf() val list = mutableListOf() for(i in s.ind..
2023.01.22 -
프로그래머스 입문 알고리즘 문제 정리 - 코틀린(Kotlin)
모든 문제의 출처는 프로그래머스에 있습니다. https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc&page=1 코딩테스트 입문 | 프로그래머스 스쿨 코딩테스트에 처음 도전하는 사람들을 위한 입문 문제 모음. 쉬운 문제부터 하나씩 도전해 보면서 코딩테스트에 자신감도 붙이고 문제 해결 능력을 키워보세요! school.programmers.co.kr 1. 문자열 안에 문자 반복 repeat() , joinToString() fun solution(my_string: String, n: Int): String = my_string.map { it.toString().repeat(n) }.joinToString("") n ..
2023.01.21