전체 글 337

[그리디] -버스

버스 학생들이 버스에 타고 여행을 가려고 합니다. 버스는 승객을 태울 수 있는 무게 제한이 있습니다. 매개변수 weight에 각 학생들의 몸무게 정보가 주어지고, limit에 버스가 태울 수 있는 총 승객 의 무게가 주어지면 버스에 탈 수 있는 최대인원수를 구하여 반환하는 프로그램을 작성하세 요. 제한사항: • weight의 길이는 100,000을 넘지 않습니다. • 50

[정렬] - 두수의 합

두 수의 합 정수 수열 안에서 수열의 원소 두 개의 합이 target값이 되는 경우를 찾고 싶습니다. 매개변수 nums에 길이가 n인 수열이 주어지고, 매개변수 target에 자연수 값이 주어지면 이 수열안에서 두 개의 원소의 합이 정수 target값이 되는 두 원소를 구해 배열에 오름차순으로 담아 반환합니다. 두 개의 원소의 합이 target값이 되는 경우는 오직 한가지 뿐인 입력만 주어집니다. 한 원소를 두 번 더하는 것은 안됩니다. nums의 각 원소는 유일값입니다. 답이 없을 경우 [0, 0]을 반환합니다. 제한사항: • nums의 길이 3

[정렬] - 두 수의 차

두 수의 차 매개변수 nums에 수열이 주어지면 수열의 원소 중 두 수의 차가 가장 작은 쌍을 찾아 반환하 는 프로그램을 작성하세요. 수열의 원소는 유일값들로 이루어져 있습니다. 두 수의 차가 가장 작은 쌍이 여러개면 모든 쌍을 배열에 담아 반환합니다. 배열에 담는 순서는 상관없습니다. 단 두 수는 오름차순 정렬된 쌍으로 표현합니다. 정확성, 효율성테스트를 합니다. 제한사항: • nums의 길이는 100,000을 넘지 않습니다. • 1

[정렬] -사탕

사탕 종류 현수는 사탕을 좋아합니다. 현수에게 사탕이 n개 있습니다. 현수 엄마는 현수가 요즘 너무 사탕을 많이 먹어 건강에 좋지 않다고 생각해 현수에게 가지고 있는 사탕의 절반(n/2)개만 먹으라고 했습니다. n은 항상 짝수입니다. 매개변수 nums에 현수가 가지고 있는 n개의 사탕의 종류 정보가 주어지면 현수가 n/2개의 사 탕을 먹는다면 최대 몇 종류의 사탕을 먹을 수 있는지를 반환하는 프로그램을 작성하세요. 제한사항: • nums의 길이는 100,000을 넘지 않습니다. • nums[i]는 i번재 사탕의 종류를 의미합니다. nums[i]값이 같으면 같은 종류의 사탕입니다. • 1

[시물레이션] -위험지역

위험 지역 n*n 이차원 배열에 특정 지역의 지뢰정보가 지도로 주어집니다. 만약 아래와 같이 5*5의 지도에 지뢰정보가 주어지면 위에 지도에서 1은 지뢰가 매설된 지역이고, 0은 빈땅입니다. 위에 지도에서 지뢰가 매설된 격자와 상하좌우 대각선으로 인접한 8개의 빈땅 격자를 위험지 역입니다. 위에 지도에서 위험지역은 총 14개입니다. 매개변수 board에 특정지역의 지뢰정보가 담겨진 지도가 주어지면 이 지역에 위험지역이 총 몇 개 있는지 반환하는 프로그램을 작성하세요. 제한사항: • 3

[시물레이션] - 로봇의 이동

로봇의 이동 이차원 배열 격자판 0행 0열에 로봇이 3시 방향을 보고 있습니다. 로봇은 다음 규칙에 따라 이동합니다. 1. 'G' 명령을 주면 보고 있는 방향으로 한 칸 이동합니다. 격자 밖으로 나가는 명령은 하지 않습니다. 2. 'R' 명령을 주면 오른쪽으로 90도 회전합니다. 3. 'L' 명령을 주면 왼쪽으로 90도 회전합니다. 매개변수 moves에 로봇에 명령을 내린 문자들이 차례대로 나열된 명령 문자열이 주어지면 이 명령 문자열을 로봇이 모두 수행했을 때 최종 위치를 반환하는 프로그램을 작성하세요. 제한사항: • moves의 길이는 100을 넘지 않습니다. • 2차원 배열 격자판의 크기는 100*100입니다. 입력예제 1 설명 : 나의코드 def solution(moves): x = y = 0 d..

[시물레이션] -청소로봇 2

청소 로봇(ver 2) n*n 크기의 이차원 배열 격자판 0행 0열이 청소 로봇의 시작위치입니다. 청소 로봇은 다음 규칙에 따라 이동합니다. 1. 'U' 명령은 로봇이 위쪽으로 한 칸 이동합니다. 2. 'R' 명령은 로봇이 오른쪽으로 한 칸 이동합니다. 3. 'L' 명령은 로봇이 왼쪽으로 한 칸 이동합니다. 4. 'D' 명령은 로봇이 아래쪽으로 한 칸 이동합니다. 5. 만약 로봇이 명령을 수행할 경우 격자판 밖으로 나가는 경우라면 로봇은 해당 명령을 수행 하지 않고 무시합니다. 매개변수 n에 격자판 크기가 주어지고, moves에 청소 로봇에 명령을 내린 문자들이 차례대로 나열된 명령 문자열이 주어지면 청소 로봇이 최종적으로 멈춘 위치를 반환하는 프로그램을 작 성하세요. 제한사항: • moves의 길이는 ..

[시물레이션] -청소로봇 1

청소 로봇(ver 1) 이차원 배열 격자판 0행 0열이 청소 로봇의 시작위치입니다. 청소 로봇은 다음 규칙에 따라 이동합니다. 1. 'U' 명령은 로봇이 위쪽으로 한 칸 이동합니다. 2. 'R' 명령은 로봇이 오른쪽으로 한 칸 이동합니다. 3. 'L' 명령은 로봇이 왼쪽으로 한 칸 이동합니다. 4. 'D' 명령은 로봇이 아래쪽으로 한 칸 이동합니다. 매개변수 moves에 청소 로봇에 명령을 내린 문자들이 차례대로 나열된 명령 문자열이 주어지 면 이 명령 문자열을 청소 로봇이 모두 수행했을 때 최종 위치를 반환하는 프로그램을 작성하 세요. 격자판 밖으로 벗어나는 명령은 주어지지 않습니다. 제한사항: • moves의 길이는 100을 넘지 않습니다. • 2차원 배열 격자판의 크기는 100*100입니다. 나의 ..

[시물레이션] -웅덩이

웅덩이 매개변수 nums에 n행 n열의 이차원 배열에 격자판 정보가 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 지역은 상하좌우 인접한 지역의 숫자가 모두 자신보다 클 경우 이 지역을 웅덩이 지역이라고 합니다. 격자의 가장자리는 1000으로 초기화 되었다고 가정한다. 만약 5*5 이차원 배열의 격자판 정보가아래와 같다면 총 웅덩이의 수는 5개입니다. 주어진 격자에 웅덩이가 몇 개 있는지 찾아 그 개수를 반환하는 프로그램을 작성하세요. 제한사항: • 3 = nums[nx][ny]: flag = False break if flag == True: answer += 1 return answer print(solution([[10, 20, 50, 30, 20], [20, 30, 50, 70, 9..

[해시] - 두 수의 합

두 수의 합 정수 수열 안에서 수열의 원소 두 개의 합이 target값이 되는 경우를 찾고 싶습니다. 매개변수 nums에 길이가 n인 수열이 주어지고, 매개변수 target에 자연수 값이 주어지면 이 수열안에서 두 개의 원소의 합이 정수 target값이 되는 두 원소를 구해 배열에 오름차순으로 담아 반환합니다. 두 개의 원소의 합이 target값이 되는 경우는 오직 한가지 뿐인 입력만 주어집니다. 한 원소를 두 번 더하는 것은 안됩니다. nums의 각 원소는 유일값입니다. 답이 없을 경우 [0, 0]을 반환합니다. 제한사항: • nums의 길이 3