전체 글(110)
-
프로그래머스 알고리즘 Level 1 과일 장수
https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 설명은 길지만 간단하게 말하면 사과 한 상자에 m개씩 담아서 상자의 가장 작은 사과 가치 X m개를 하면 1개 상자의 값이다. score 를 m개씩 담아서 값을 매기고 그 값을 다 더한다는 문제이다. 먼저 score를 정렬해서 총 개수가 m개로 나누었을때 나머지가 0이 되도록 자르고 나머지는 버린다. 그리고 m개로 잘라서 각각 리스트로 만든다. 묶음으로 나온 각 list 의 가장 작은 값을..
2023.01.23 -
프로그래머스 알고리즘 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 -
프로그래머스 알고리즘 Level1 코틀린 크기가 작은 부분문자열
모든 문제의 출처는 프로그래머스에 있습니다. https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫번째 풀이 for문을 2번 돌림 0부터 p의 길이를 뺀 t의 길이까지 반복하고 그 안에 t의 i번째부터 i+p.length 까지 반복해서 돌리게 함. 돌려서 나온 3자리의 string 값을 mutableList 에 저장해서 p 값과 비교해 count - 성공 2. 두번째 다시 풀이 함수형으로 바로 구하도록 해봄. 0부터 t.length-p.le..
2023.01.21 -
프로그래머스 알고리즘 Level1 코틀린 2023 KAKAO BLIND RECRUITMENT 개인정보 수집 유효 기간
https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫 번째 풀이 생각 - privacies의 month에 약관의 유효 month( terms의 달 )을 더해서 >12월 이상이면 year에 1을 더하고 각 year month day를 int로 바꿔서 today랑 비교. 만약 수집일자+유효 month 보다 오늘의 날짜가 더 크거나 같으면 list 선언한 것에 index 값 add 실패 이유 1. 어디서 오류가 발생했는데 정확하게 모르겠다. i..
2023.01.21