반응형 알고리즘/알고리즘 문제풀이11 [프로그래머스 LV2] 연속된 부분 수열의 합 이번에 풀어본 문제는 연속된 부분 수열의 합이라는 문제입니다. 아래는 해당 문제에 대한 설명입니다. 문제 설명 비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다. 기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다. 부분 수열의 합은 k입니다. 합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다. 길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다. 수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 .. 2023. 5. 7. [프로그래머스 LV2] 두 원 사이의 정수쌍 이번 문제는 좌표평면 위의 원이 두 개가 주어지고, 해당 원 사이의 정수쌍인 좌표의 개수를 구하는 문제입니다. 처음 봤을 땐 진짜 어이없게 문제를 풀어보았는데, 당연히 틀렸고요. 여러 번 트라이를 한 이후에 풀 수 있었습니다. 그중에서 2가지 풀이를 소개해드리려고 하는데, 첫 풀이는 시간 초과가 나온 풀이법이고, 다음 풀이법은 정답처리된 풀이법입니다. 시간초과 풀이법 시간초과 풀이법은 브루트포스 방식으로 무식하게 풀려고 했습니다, 먼저 코드를 보도록 하겠습니다. for i in range(r2**2): if x**2 + y**2 >= r1**2 and x**2 + y**2 = r1**2 and y > 1: y -= 1 elif (x+1)**2 + y**2 >= r1**2 and x < r2: x += 1.. 2023. 4. 30. [프로그래머스 LV2] 요격시스템 정말 오랜만에 포스팅합니다. 그동안 일하느라 바쁘기도 했고, 알고리즘 공부도, CS 공부도 조금 소홀하긴 했습니다. 아무튼 오늘 풀어본 문제는 프로그래머스의 요격시스템이라는 문제입니다. 이 문제는 파이썬으로 해결하였습니다. 참고로 코드만 올려놓으면 가끔씩 제가 푼 문제를 제가 봐도 이해가 안 되는 경우가 있어서, 쉽게 설명을 해볼까 합니다. 참고로 해당 문제는 문제 바로가기 링크를 눌러서 확인하실 수 있습니다. 문제 설명 위 사진은 해설을 쉽게 이해하기 위해서 캡쳐해온 문제 설명입니다. 자세한 내용은 프로그래머스 홈페이지에서 확인해 보시기 바랍니다. 아래 사진은 제한사항과 입출력 예입니다. 문제 해결 아이디어 링크에서 입출력 예에 있는 사진을 보고 아이디어를 얻었습니다. 입출력 예 설명의 사진을 보면 1.. 2023. 4. 29. [이코테 - DFS/BFS] 미로탈출 미로탈출 문제는 BFS를 이용해서 풀었습니다. 역시 DFS와 BFS부터 문제의 난이도가 높아지는 것 같습니다. 아직 안익숙해서 그런거일지도.. 아무튼 미로탈출 문제에 대해서 설명을 시작하도록 하겠습니다. 문제 설명 N x M 크기의 직사각형 형태의 미로가 주어졌을 때 거치는 탈출하기 위한 최소 칸의 수를 구하시오. 첫 칸은 무조건 (1, 1)이고 탈출 칸은 (N, M)이다. 입력조건은 첫째 줄에 두 정수 N, M이 주어지고(4 = 0 and nc = n or ny = m: continue # 벽인 경우 무시 if graph[nx][ny] == 0: continue # 해당 노드를 처음 방문하는 경우에만 최단 거리 기록 if graph[nx][ny] == 1: graph[nx][ny] .. 2022. 10. 11. 이전 1 2 3 다음 반응형