목록알고리즘 (127)
500error

문제 4 x 4 크기 격자 모양 지형에 위험 지역이 몇 개인지 알고 싶습니다. 위험지역이란 동, 서, 남, 북 인접한 지역이 모두 해당 지역보다 높은 지역입니다. 예를 들어 지역 높이가 아래와 같다면 빨간 영역은 인접한 지역이 모두 해당 지역보다 높은 위험지역입니다. 지역별 높이가 담긴 2차원 배열 height, height의 길이 height_len이 solution 함수의 매개변수로 주어질 때, 위험 지역이 몇 개인지 return 하도록 solution 함수를 완성해주세요. code def solution(height): count = 0 for x in range(4) : for y in range(4) : if x > 0 and height[x-1][y] < height[x][y] : pass e..
문제 1번부터 n번까지의 후보에 대한 투표 결과가 주어질 때, 과반수를 득표한 후보자의 번호를 구하려고 합니다. 여기서 과반수란 절반이 넘는 수를 의미합니다. 예를 들어, 1번부터 3번까지의 후보에 대한 투표 결과가 [1, 2, 1, 3, 1, 2, 1]이라면 순서대로 [1번, 2번, 1번, 3번, 1번, 2번, 1번] 후보에 투표했음을 나타내고, 이 경우 당선된 후보자의 번호는 1번입니다. 후보의 수 n, 투표 결과가 담긴 배열 votes, votes의 길이 votes_len이 매개변수로 주어질 때, 과반수를 득표한 후보자의 번호를 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 작동하지 않습니다. 주어진 코드에서 한 ..
문제 중간시험 점수와 기말시험 점수가 있습니다. 이를 바탕으로 점수가 가장 많이 오른 학생의 점수 차이와 가장 많이 떨어진 학생의 점수 차이를 구하려 합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. 각 학생에 대하여 기말고사 점수에서 중간고사 점수를 뺀 값의 최댓값을 구합니다. 2. 각 학생에 대하여 기말고사 점수에서 중간고사 점수를 뺀 값의 최솟값을 구합니다. 3. 1번과 2번 과정에서 구한 점수를 배열에 담아 return 합니다. 예를 들어 중간시험 점수가 [20, 50, 40]이고, 기말시험 점수가 [10, 50, 70]이면, 학생의 시험 점수 차이는 [-10, 0, 30]입니다. 따라서 성적이 가장 많이 오른 학생은 30점이 올랐습니다. 그리고 성적이 가장 많이 떨어진 학생은 ..
문제 적립된 포인트를 최대한으로 사용하려고 합니다. 포인트를 사용하는 규칙은 다음과 같습니다. 포인트는 100포인트 단위로 사용합니다. 1000포인트 이상 있을 때만 포인트를 사용할 수 있습니다. 적립된 포인트 point가 매개변수로 주어질 때, 최대 몇 포인트를 쓸 수 있는지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요. code def solution(point): if point < 1000: return 0 return point * 100 // 10000 * 100 point = 2323 ret = solut..