반응형
반응형
문제 풀이 1. 주어진 항공권을 도착지를 기준으로 정렬합니다. 2. 항공권 정보를 그래프로 변환합니다. 3. "ICN"에서 시작하여 DFS (깊이 우선 탐색)을 수행하여 경로를 찾습니다. 파이썬을 공부하면서 풀어서 정렬하는 방법에 대해서 새롭게 알게 되었습니다. 다음에 기회가 되면 더 자세히 정리하겠지만 간단하게 살펴보겠습니다. 항공권을 도착지 기준으로 오름차순 정렬을 해야해서 아래와 같이 sorted() 내장함수를 이용했습니다. sorted(tickets, key=lambda x: x[1]) key 매개변수는 정렬 기준을 지정하는 데 사용되며, 여기에는 함수가 전달됩니다. lambda는 파이썬에서 익명 함수를 정의하는 키워드입니다. 익명 함수는 이름 없이 정의되는 간단한 함수입니다. x는 lambda ..
문제 풀이 기본적으로 탐색하는 character가 문자면 소문자, 대문자로 변환하고 숫자면 다음 character로 넘어갔다. 마지막까지 완료하면 새로운 문자열을 반환하였다. 개념을 그림으로 표현해봤다. 주어진 문자열이 "a1b2" 이면 결과로 ["a1b2", "a1B2", "A1b2", "A1B2"] 가 반환된다. dfs 함수를 만들고 character가 문자면 두 갈래(소문자, 대문자)로 나눠서 계속 함수를 호출해 풀었다. 코드 class Solution { fun letterCasePermutation(s: String): List { val result = arrayListOf() dfs(s.toCharArray(), 0, result) return result } fun dfs(target: C..
문제 풀이 주어진 2차원 배열에서 상하좌우 4방향으로 시작위치의 색과 같은 색이면 새로운 색으로 칠하면 되는 문제이다. dfs, bfs 풀이로 풀면 된다. 처음에 아래와 같이 작성했다가 Time Limit Exceeded 나왔다. class Solution { fun floodFill(image: Array, sr: Int, sc: Int, newColor: Int): Array { val baseColor = image[sr][sc] fun fill(row: Int, col: Int) { if (row !in image.indices || col !in image[0].indices || image[row][col] != baseColor) { return } image[row][col] = newCo..