본문 바로가기

전체 글

(96)
[프로그래머스] 부대복귀 with Kotlin 문제n: 총 지역 수roads: 연결되어 있는 두 지역의 정보sources: 각 부대원이 위치한 서로 다른 지역의 정보destination: 강철부대가 위치한 지역두 지역간의 길을 통과하는데 걸리는 시간은 모두 1이다.sources의 지역에 있는 각 부대원들은 강철 부대로 최단 시간 복귀하고자 한다.각 부대원들이 복귀까지 걸리는 최단 시간을 반환하는 문제복귀가 불가능한 부대원은 -1을 반환한다. 풀이 과정각 지역별로 연결되어 있는 타지역의 정보를 저장 (hashMap)destination을 1번 노드로 설정한 후, 각 지역 별 노드를 배열에 저장각각의 인덱스가 지역번호가 된다.저장은 1번의 hashMap을 이용한 BFS를 사용노드는 복귀까지의 소요 시간이 되므로, 노드 - 1 == 복귀까지 걸리는 시간이..
[프로그래머스] 가장 긴 팰린드롬 with Kotlin 문제앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요.예를들면, 문자열 s가 "abcdcba"이면 7을 return하고 "abacde"이면 3을 return합니다. 제한사항문자열 s의 길이 : 2,500 이하의 자연수문자열 s는 알파벳 소문자로만 구성 풀이 과정for문으로 2500부터 내려오면서 i의 길이만큼 문자열 s를 잘라서 탐색탐색 방법 >> 문자열 중간부터 양쪽으로 문자가 같은지 다른지 확인팰린드롬이 있다면 반복문 종료 이후 i 반환문자열을 잘라서 확인하는 방법substring >> 편하긴 하지만 효율성 1번에서 시간초과 나옴시작..
[프로그래머스] 2020 카카오 인턴쉽 경주로 건설 with Kotlin 문제크기가 n*n인 1과 0으로 이루어진 2차원 배열이 주어진다.시작은 0,0 이며 도착지는 n-1, n-1 이다. 1은 벽으로 이루어져있어 지나갈 수 없고, 직선은 100의 비용이, 코너는 500의 비용이 소모된다.시작부터 도착지점까지 도로를 건설한다고 할 때, 건설할 수 있는 최소 비용의 금액을 반환하여라. 자세한 문제는 프로그래머스에서https://school.programmers.co.kr/learn/courses/30/lessons/67259# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이 과정벽을 끼고 도착지까지의 최소 거리를 구하는 문제의..