본문 바로가기

Python36

[코딩 테스트] 프로그래머스 - 가장 긴 팰린드롬 (Lv.3) in Python 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예시: s = "abcdcba" // answer = 7 예시: s = "abacde" // answer = 3 더 자세한 문제설명 - programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr 풀이 - 처음에는 문자열의 index를 하.. 2021. 3. 15.
[코딩 테스트] 프로그래머스 - 가장 먼 노드 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성! 더 자세한 설명 - programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 풀이 1. 먼저, 노드들의 연결 관계를 나타내주는 dictionary를 만든다. 문제가 다음과 같은 구성일 때, conn이라는 dictionary는 다음과 같은 형태를 띌 것. conn = {1: [2, 3], 2: [1, 3, 4,.. 2021. 3. 15.
[코딩 테스트] 프로그래머스 - 섬 연결하기 (Lv.3) in Python gmlwjd9405.github.io/2018/08/29/algorithm-kruskal-mst.htmln개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하라. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 본다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능하다. 더 자세한 설명 - programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4.. 2021. 3. 14.
[코딩테스트] 프로그래머스 - 도둑질 (Lv.4) in Python 도둑이 어느 마을을 털려 하고 있습니다. 이 마을의 집들은 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. - 이 마을에 있는 집은 3개 이상 1,000,000개 이하입니다. - money 배열의 각 원소는 0 이상 1,000 이하인 정수입니다. 예시: money = [1, 2, 3, 1], 정답 = 4 programmers.co.kr/learn/courses/30/lessons/42897 풀이! - 역시나 동적계획법이므로, 각 위치에 도달하기까지의 최댓값을 배열에 넣어주면 된다.. 2021. 3. 13.