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

최근 글 👑

Lv0 C# 프로그래머스 #23 - 마지막 두 원소, 뒤에서 5등 위로, 문자열 곱하기

2023. 9. 1. 17:59ㆍ프로그래머스 C# 코딩테스트
반응형

70. 마지막 두 원소

 

문제 설명

  • 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.

제한사항

  • 2 ≤ num_list의 길이 ≤ 10 
  • 1 ≤ num_list의 원소 ≤ 9

입출력 예시

  • 마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다.
  • 마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배인 10을 추가해 return합니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
    public int[] solution(int[] num_list) {
        List<int> result = new List<int>();
        int leng = num_list.Length - 1;
        
        foreach(int num in num_list){
            result.Add(num);
        }
  
        if(result[leng] > result[leng - 1]){
            result.Add(result[leng] - result[leng - 1]);
        } else {
            result.Add(result[leng] * 2);
        }
        return result.ToArray();
    }
}

// 리스트 result 선언
// num_list의 길이인 leng 선언, -1의 이유는 인덱스는 0부터 세기 때문.
// 리시트 result에 foreach반복문을 이용하여 num_list의 모든 요소 추가
// 만약 result의 마지막 요소가 그 전 요소보다 크다면, 리스트에 마지막요소 - 그전요소 값 추가
// 그렇지 않다면, 리스트에 마지막요소 * 2 추가
// 리스트 result를 ToArray() 메서드를 통해 배열로 반환

 

71. 뒤에서 5등 위로

 

문제 설명 

  • 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 6 ≤ num_list의 길이 ≤ 30 
  • 1 ≤ num_list의 원소 ≤ 100

입출력 예시 

  • [12, 4, 15, 46, 38, 1, 14, 56, 32, 10]를 정렬하면 [1, 4, 10, 12, 14, 15, 32, 38, 46, 56]이 되고, 앞에서 부터 6번째 이후의 수들을 고르면 [15, 32, 38, 46, 56]가 됩니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
   public int[] solution(int[] num_list) {
        List<int> result = new List<int>();
       
        Array.Sort(num_list);
        for(int i = 5; i < num_list.Length; i++ ){
            result.Add(num_list[i]);
        }
        return result.ToArray();
    }
}

// 리스트 result 선언
// num_list 오름차순 정렬
// num_list에서 가장 작은 5개의 수를 제외한 나머지의 수 result에 추가
// result를 ToArray() 메서드를 사용해 배열로 변환하여 반환

 

72. 문자열 곱하기

 

문제 설명 

  • 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항 

  • 1 ≤ my_string의 길이 ≤ 100 
  • my_string은 영소문자로만 이루어져 있습니다. 
  • 1 ≤ k ≤ 100

입출력 예시

  • 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
  • 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.

풀이

using System;

public class Solution {
    public string solution(string my_string, int k) {
        string result = "";
        for(int i = 0; i < k; i++){
            result += my_string;
        }
        return result;
    }
}

// 빈 문자열 result 선언
// for 반복문을 통해 my_string을 k번 더해줌.

 

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