프로젝트들/코딩 테스트59 [코딩테스트] 문자열 압축 (2020 Kakao) in Python 압축할 문자열 s가 매개변수로 주어질 때, 1개 이상 단위로 문자열을 잘라 압축하여 표현한 문자열 중 가장 짧은 것의 길이를 return 하도록 solution 함수를 완성. programmers.co.kr/learn/courses/30/lessons/60057 풀이는 프로그래머스 수업 내용을 바탕으로 구현했습니다. 문제 풀이 - 문자열을 자르는 단위 (step)는, 1개부터 문자열 길이 전체까지 된다 (technically (문자열 길이 // 2 +1) 까지!) - 각 step마다 문자열을 검사하고 압축된 형태로 변환, - 이전에 했던 압축 형식과 길이를 비교하여, 더 짧은 것을 answer에 저장 - 결국 완전탐색처럼 구현하면 되는 것이다. 파이썬 구현 def solution(s): answer = .. 2021. 3. 8. [코딩테스트] 프로그래머스 - 땅따먹기 (Lv.2) in Python 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하세요. 예시: | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | => 5 -> 7 -> 4 => answer = 16 programmers.co.kr/learn/courses/30/lessons/12913 풀이 - 처음에는, 1행에서 가장 큰 숫자를 찾고, 다음 행에서 같은 열에 있는 숫자.. 2021. 2. 17. [코딩테스트] 프로그래머스 - 구명 보트 (Lv.2) in 파이썬 Python 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 한다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit이 주어짐. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 할 때, 필요한 구명보트 갯수는? 예시: 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없다. 따라서 (1,3), (2), (4) 구성으로 보트를 타 총 세 개의 보트가 필요! programmers.co.kr/learn/c.. 2021. 2. 16. [코딩테스트] 프로그래머스 - 삼각달팽이 (Lv.2) in Python 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return. programmers.co.kr/learn/courses/30/lessons/68645 풀이 - 수학적 공식이 있나 잠깐 생각했지만 그걸 알아내는 시간이 더 걸릴 것 같아서 (후에 검색해보니 없댄다!), 삼각형 모양 배열을 먼저 초기화해주고, 실제 달팽이 모양으로 숫자를 채워준 후, 배열을 flatten하여 리턴하는 방식으로 풀었다. - 달팽이 모양으로 숫자를 채우는 알고리즘을 짜는데 쓸데없이 고민을 많이 했지만 ㅠ 결국 풀게된 방법은 쉬웠다! ~> 어차피 채울 때는 한 방향으로, 일정 횟수만큼 채움 (아래로는 n번, 오른쪽으로는 n-1번,.. 2021. 2. 15. 이전 1 ··· 7 8 9 10 11 12 13 ··· 15 다음