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

최근 글 👑

Lv0 C# 프로그래머스 #24 - 배열 만들기 1, 주사위 게임 1, rny_string

2023. 9. 4. 14:46ㆍ프로그래머스 C# 코딩테스트
반응형

73. 배열 만들기 1

 

문제 설명

  • 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.

제한사항

  • 1 ≤ n ≤ 1,000,000 1 ≤ k ≤ min(1,000, n)

입출력 예시

  • 1 이상 10 이하의 3의 배수는 3, 6, 9 이므로 [3, 6, 9]를 return 합니다.
  • 1 이상 15 이하의 5의 배수는 5, 10, 15 이므로 [5, 10, 15]를 return 합니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
    public int[] solution(int n, int k) {
        List<int> result = new List<int>();
        for(int i = 1; i <= n; i++){
            if(i % k == 0){
                result.Add(i);
            }
        }
        return result.ToArray();
    }
}

// 새로운 빈 리스트 result 선언
// i는 1부터 n이하의 수
// i % k의 나머지가 0이면 i는 k의 배수
// ToArray() 메서드를 통해 리스트를 배열로 변환 후 반환

 

74. 주사위 게임 1

 

문제 설명

  • 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 
  • 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다. 
  • a와 b가 모두 홀수라면 a^2 + b^2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다. 
  • a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다. 
  • 두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.

제한사항

  • a와 b는 1 이상 6 이하의 정수입니다.

입출력 예시

  • 예제 1번에서 두 주사위 숫자가 모두 홀수이므로 32 + 52 = 9 + 25 = 34점을 얻습니다. 따라서 34를 return 합니다.
  • 예제 2번에서 두 주사위 숫자 중 하나만 홀수이므로 2 × (6 + 1) = 2 × 7 = 14점을 얻습니다. 따라서 14를 return 합니다.
  • 예제 3번에서 두 주사위 숫자가 모두 홀수가 아니므로 |2 - 4| = |-2| = 2점을 얻습니다. 따라서 2를 return 합니다.

풀이

using System;

public class Solution {
    public int solution(int a, int b) {
        if(a*b % 2 == 1) return a*a + b*b;
        else if(a%2 == 1 || b%2 == 1) return 2*(a+b);
        else return Math.Abs(a-b);
    }
}

// a와 b 모두 홀수이면 각 수의 제곱을 더한 후 반환
// a 또는 b 둘 중 하나가 홀수이면 a와 b의 합에 2배 반환
// 모두 짝수인 경우 a-b의 절대값 반환

 

75. rny_string

문제 설명

  • 'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

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

입출력 예시

  • 예제 1번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.

  • 따라서 "rnasterpiece"를 return 합니다.
  • 예제 2번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.

  • 따라서 "prograrnrners"를 return 합니다.
  • 예제 3번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "jerry"를 return 합니다.
  • 예제 4번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "burn"를 return 합니다.

풀이

using System;

public class Solution {
    public string solution(string rny_string) {
        return rny_string.Replace("m","rn");
    }
}

// Replace() 메서드는 문자열 내 문자를 조건에 맞추어 모두 바꿔준다.

 

 

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