본문 바로가기

분류 전체보기140

[백준] Swift - 21610번: 마법사 상어와 비바라기 문제마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기를 크기가 N×N인 격자에서 연습하려고 한다. 격자의 각 칸에는 바구니가 하나 있고, 바구니는 칸 전체를 차지한다. 바구니에 저장할 수 있는 물의 양에는 제한이 없다. (r, c)는 격자의 r행 c열에 있는 바구니를 의미하고, A[r][c]는 (r, c)에 있는 바구니에 저장되어 있는 물의 양을 의미한다.격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 마법사 상어는 연습을 위해 1번 행과 N번 행을 연결했고, 1번 열과 N번 열도 연결했다. 즉, N번 행의 아래에는 1번 행이, 1번.. 2024. 7. 4.
[프로그래머스] 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.