2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

Lv0 C# 프로그래머스 #6 -배열 자르기, 최댓값 만들기, 피자 나눠 먹기(3)

2023. 8. 8. 20:29ㆍ프로그래머스 C# 코딩테스트
반응형

19. 배열 자르기

문제 설명

  • 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 2 ≤ numbers의 길이 ≤ 30
  • 0 ≤ numbers의 원소 ≤ 1,000
  • 0 ≤num1 < num2 < numbers의 길이

입출력 예시

  • 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.
  • 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.

풀이

using System;

public class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int length = num2 - num1 + 1; // num1 부터 num2 까지의 개수
        int[] arr = new int[length];  // arr 배열의 크기는 length
        
        for(int i = 0; i < length; i++){
            arr[i] = numbers[num1 + i]; // arr[i] => numbers 배열의 첫번째 ~ num2까지
        }
        return arr;
    }
}

 

 

20. 최댓값 만들기

 

문제 설명

  • 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 0 ≤ numbers의 원소 ≤ 10,000
  • 2 ≤ numbers의 길이 ≤ 100

입출력 예시

  • 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.
  • 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.

풀이

using System;

public class Solution {
    public int solution(int[] numbers) {
        Array.Sort(numbers, (a,b) => b-a); // Array.Sort는 배열 정렬 메서드
    		// a, b 두 인수의 식을 이용한 정렬 
		// 음수 값 : 첫 번째 인수 < 두 번째 인수, 첫 번째 인수가 앞에 위치
		// 0 : 두 인수가 같다
		// 양수 값 : 첫 번째 인수 > 두 번째 인수, 첫 번째 인수가 뒤에 위치
        return numbers[0] * numbers[1]; // Array.Sort의 반환 값은 void 따라서 int 형식으로 반환
    }
}

 

 

21. 피자 나눠 먹기 (3)

 

문제 설명

  • 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 2 ≤ slice ≤ 10
  • 1 ≤ n ≤ 100

입출력 예시

  • 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다.
  • 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다.

풀이

using System;

public class Solution {
    public int solution(int slice, int n) {
        double pizza = Math.Ceiling((double)n / slice); // Math.Ceiling 메서드는 double 타입
        return (int)pizza;
    }
    // 사람 수 / 조각 수 => 소수점 존재 => 한판 더 필요
}

 

  • 정답률 높은 순부터 풀이
  • 매일 3 문항 풀이
반응형