728x90 전체 글103 [99클럽 코테 스터디] 28일차 TIL 스택/큐 오늘의 문제는 프로그래머스 프로세스 문제 문제 설명 프로세스의 우선순위가 담긴 배열 priorities와 몇 특정 프로세스의 위치를 나타내는 location이 매개변수로 주어졌을 때 해당 위치의 프로세스가 몇 번째로 실행되는지를 반환하는 문제입니다. 예를 들어 입력이 priorities = [2, 1, 3, 2], location = 2 인 경우 1이 반환돼야 합니다. 문제 풀이 시간 권장 풀이 시간은 60분이었고, 저는 55분이 걸렸습니다. 문제 접근 방식큐를 사용한 방식으로 문제를 풀었습니다. 먼저 큐에 priorities의 인덱스와 요소를 저장합니다. 그리고 요소를 하나씩 탐색하며 우선순위를 확인합니다. 현재 프로세스 보다 우선순위가 높은 프로세스가 있다면, 현재 프로세스를 큐의 맨 .. 2024. 8. 18. [99클럽 코테 스터디] 27일차 TIL 시뮬레이션 오늘의 문제는 프로그래머스 공원 산책 문제 문제 설명 로봇 강아지는 현재 위치 S에서 수행할 명령 routes에 따라 공원을 이동해야 합니다. routes는 "op n" 원소로 이루어지는데 여기서 op란 동, 서, 남, 북 네 방향 중 이동할 방향을 의미하고 n은 이동할 칸 수를 의미합니다. 공원은 좌측 상단 (0,0) 부터 우측 하단 (H - 1, W - 1) 크기의 직사각형입니다. 공원이 시작 지점 S, 이동 가능한 통로 O, 장애물 X로 이루어진 배열일 때 다음과 같은 예외 조건이 있습니다. 1. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 2. 주어진 방향으로 이동 중 장애물을 만나는지 확인합니다. 위 두 가지 중 하나라도 해당된다면 해당 명령을 무시하고 다음 명령을 수행해야 합니.. 2024. 8. 17. [99클럽 코테 스터디] 26일차 TIL 시뮬레이션 오늘의 문제는 프로그래머스 바탕화면 정리 문제 문제 설명 바탕화면의 파일을 삭제해 정리하려고 합니다. 바탕화면은 정사각형의 격자판이고 바탕화면의 상태를 나타내는 문자열 wallpaper가 주어집니다. 가장 왼쪽 위 (0, 0) 부터 시작해서 파일이 있는 칸은 "#", 파일이 없는 칸은 "." 이라고 했을 때 드래그로 파일을 선택해 한 번에 지워야 합니다. 드래그는 격자점 S(lux, luy)를 마우스 왼쪽 버튼으로 클랙한 상태로 격자점 E(rdx, rdy)로 이동한 다음 마우스 왼쪽 버튼을 떼는 것을 말합니다. S를 시작점, E를 끝점이라고 할 때 드래그의 한 거리 |rdx - lux| + |rdy - luy| 값이 최솟값일 때의 정수 배열 [lux, luy, rdx, rdy]를 반환하는 문제입니다... 2024. 8. 16. [99클럽 코테 스터디] 25일차 TIL 그래프 오늘의 문제는 LeetCode 1971. Find if Path Exists in Graph 문제 문제 설명 주어진 양방향 그래프에서 정점 source에서 destination으로 가는 경로가 존재하면 true를 반환하고, 존재하지 않으면 false를 반환하는 문제입니다. 그래프는 n개의 정점을 가지고 있고 각 정점은 0 부터 n - 1 까지의 번호를 갖습니다. 간선은 2차원 정수 배열 edges로 주어집니다. 예를 들어 Input : n = 3, edges = [[0,1], [1,2],[2,0]], source = 0, destination = 2 일 때 0에서 2까지 가는 경로가 0 -> 1 -> 2 와 0 -> 2로 존재하므로 output은 true입니다. 문제 풀이 시간 권장 풀이 시.. 2024. 8. 15. [99클럽 코테 스터디] 24일차 TIL 그래프 오늘의 문제는 LeetCode 1791. Find Center of Star Graph 문제 문제 설명 n개의 노드로 구성된 무방향 성형 그래프가 있습니다. 해당 그래프는 중심 노드가 한 개이고 중심 노드와 다른 모든 노드를 연결하는 n - 1 개의 간선이 있습니다. 2차원 배열 edges가 주어졌을 때 주어진 성형 그래프의 중심을 반환하면 되는 문제입니다. 입출력 예시를 보면 edeges = [[1,2], [2,3], [4,2]] 일 때의 반환값은 2입니다. 문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 7분이 걸렸습니다. 문제 접근 방식예시에서 알아봤듯이 다른 모든 노드와 연결되는 노드가 중심이 되는 노드입니다. 중심 노드는 첫 두 간선에 공통으로 등장하는 노드이기 때문에 모든.. 2024. 8. 14. [99클럽 코테 스터디] 23일차 TIL 그리디 오늘의 문제는 LeetCode 561. Array Partition 문제 문제 설명 2n 개의 요소로 이루어진 정수형 배열 nums가 주어집니다. 이 배열의 요소들을 n개의 쌍으로 나눈 다음 각 쌍에서 작은 값들을 선택해 그 합이 최대가 되도록 하는 값을 반환하는 문제입니다. 예를 들어 nums가 [1, 4, 3, 2] 일 경우, 배열은 2n = 4개의 요소로 이루어져 있으므로 n = 2개의 쌍으로 나눌 수 있습니다. 가능한 쌍을 나열하면 다음과 같습니다. 1. (1, 4) (3, 2) : 작은 값 1과 2의 합은 32. (1, 3) (4, 2) : 작은 값 1과 2의 합은 3 3. (1, 2) (4, 3) : 작은 값 1과 3의 합은 4따라서 가능한 합 중에서 가장 큰 값인 4가 반환되면 됩니다.. 2024. 8. 13. [99클럽 코테 스터디] 22일차 TIL DP 오늘의 문제는 LeetCode 119. Pascal's Triangle II 문제 문제 설명 정수 rowIndex가 주어지면 파스칼 삼각형의 rowIndex 번째 행을 반환하는 문제입니다. 예를 들어 rowIndex가 3이라면, [1,3,3,1]이 반환되면 됩니다. 문제 풀이 시간권장 풀이 시간은 60분이었고, 저는 32분이 걸렸습니다. 문제 접근 방식파스칼 삼각형의 각 행을 저장할 리스트를 선언합니다. 각 행의 첫 번째와 마지막 요소는 항상 1이기 때문에 먼저 첫 번째 요소에 1을 추가합니다. 반복문을 사용해 이전 행의 중간 값들을 더해 새로운 값을 생성하고, 이를 현재 행에 복사합니다. 문제를 풀 때 주의할 점은 자료형 범위 초과였습니다. 문제에서 주어진 조건에 따르면 rowIndex는 .. 2024. 8. 12. [99클럽 코테 스터디] 21일차 TIL DP 오늘의 문제는 LeetCode 118. Pascal's Triangle 문제 문제 설명 정수 numRows가 주어지면 numRows 크기의 파스칼 삼각형을 반환하면 되는 문제입니다. 여기서 파스칼 삼각형이란 n번째 수와 n+1번째 수를 더해 아래 행의 n+1번째 수가 만들어지는 것을 의미합니다. 예를 들어 numRows가 5일 때의 반환값은 아래와 같습니다. [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 22분이 걸렸습니다. 문제 접근 방식문제에서 이차원 리스트가 주어졌기 때문에 이를 활용해 풀었습니다. 전체 삼각형을 외부 리스트로, 각 행을 내부 리스트로 생각했습니다. 외부 리스트는 파스칼 삼각형 전체를 저장.. 2024. 8. 11. 이전 1 2 3 4 5 6 ··· 13 다음 728x90