프로그래머스31 [코딩테스트] 프로그래머스 - 자물쇠와 열쇠 (2020 Kakao) in Python 열쇠를 나타내는 2차원 배열 key (N X N) 와 자물쇠를 나타내는 2차원 배열 lock (M X M)이 매개변수로 주어질 때, 열쇠로 자물쇠를 열수 있으면 true를, 열 수 없으면 false를 return 하도록 solution 함수를 완성. 열쇠는 90도씩 돌릴 수 있고, 열쇠와 자물쇠의 홈은 0과 1로 표시됨. programmers.co.kr/learn/courses/30/lessons/60059 문제 풀이는 프로그래머스 수업을 바탕으로 합니다. 풀이 - M과 N이 20 이하로 주어지기 때문에, 여러 번 회전하고 확장시켜도 효율성에 큰 영향은 없을 것이다. - 따라서 열쇠를 90도로 4번 회전시켜 모든 경우의 수를 확인 - 열쇠의 일부분만 자물쇠를 여는 데 쓰일 수도 있으므로, 자물쇠의 크기를.. 2021. 3. 8. [코딩 테스트] 프로그래머스 - 괄호 변환 (2020 Kakao) in Python '('와 ')'로만 이루어진 문자열 s에서, 괄호들을 올바르게 배치해서 반환할 것. 이 문제는 문제 자체에서 알고리즘을 이미 나열해놨다. 이에 맞게 구현만 하면 되는 문제. 재귀적인 성질을 갖고 있다. programmers.co.kr/learn/courses/30/lessons/60058 문제 풀이 '균형잡힌 괄호 문자열' - (와 ) 개수가 맞을 때 '올바른 괄호 문자열' - 균형잡힌 괄호 문자열이면서, 짝도 맞을 때 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열.. 2021. 3. 8. [코딩테스트] 문자열 압축 (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. 이전 1 2 3 4 5 6 7 8 다음