본문 바로가기

분류 전체보기139

[프로그래머스] Swift - 가장 긴 팰린드롬 (LV.3) 문제 설명앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요.예를들면, 문자열 s가 "abcdcba"이면 7을 return하고 "abacde"이면 3을 return합니다. 제한사항문자열 s의 길이 : 2,500 이하의 자연수문자열 s는 알파벳 소문자로만 구성예상 문제 풀이 방식1. 완탐 -> 전체 문자열에서 팰린드롬 구하기 or 팰린드롬만 찾기2. DP  전체 문자열에서 팰린드롬을 구하면, 시간초과가 날 것 같은 느낌이 들지만, 일단 시도해보자.func solution(_ s:String) -> Int { let s = s.map {.. 2024. 6. 18.
[백준] Swift - 24467번: 혼자하는 윷놀이 문제오전 4시, 민재는 윷놀이를 하고 싶어졌다. 하지만 다들 자는 시간이라 윷놀이를 같이 할 사람은 없었다.민재는 윷놀이를 혼자 할 수 있는 방법을 생각해냈다.혼자 하는 윷놀이에 적용되는 규칙은 다음과 같다.처음에 말은 윷판의 오른쪽 아래에 위치한다.열 번의 차례 안에 말 하나가 완주하면 민재가 승리한다.차례 한 번에는 윷가락 네 개를 던진 후:뒷면이 하나인 경우 말을 한 칸 전진시킨다.뒷면이 둘인 경우 말을 두 칸 전진시킨다.뒷면이 셋인 경우 말을 세 칸 전진시킨다.모두 뒷면인 경우 말을 네 칸 전진시킨 뒤, 윷을 추가로 던진다.모두 앞면인 경우 말을 다섯 칸 전진시킨 뒤, 윷을 추가로 던진다.윷판을 정해진 경로로 한 바퀴를 돌아 윷판의 오른쪽 아래에 도착한 뒤 한 칸 더 움직여야  완주할 수 있다.혼.. 2024. 6. 13.
[프로그래머스] Swift - 단속카메라 (LV.3) 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항차량의 대수는 1대 이상 10,000대 이하입니다.routes에는 차량의 이동 경로가 포함되어 있으며 routes[i][0]에는 i번째 차량이 고속도로에 진입한 지점, routes[i][1]에는 i번째 차량이 고속도로에서 나간 지점이 적혀 있습니다.차량의 진입/진출 지점에 카메라가 설치되어 있어도 카메라를 만난것으로 간주합니다.차량의 진입 지점, 진출 지점은.. 2024. 6. 8.
[프로그래머스] Swift - 날짜 비교하기 (LV.0) 문제 설명 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요.제한사항date1의 길이 = date2의 길이 = 30 ≤ year ≤ 10,0001 ≤ month ≤ 12day는 month에 따라 가능한 날짜로 주어집니다.몹시 쉬운 문제이다. 그래서 이런 문제들은 문제를 푸는 것이 중요하다고 생각하지 않는다.오히려 구조연습이나 재사용성을 연습하기 좋은 문제라고 생각한다.6월 6일 기념, 66줄 코드 작성 ㅎ.. 풀이enum C.. 2024. 6. 6.