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

최근 글 👑

C# 프로그래머스 #31 - 더 크게 합치기, 홀수 vs 짝수, 세균 증식

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

94. 더 크게 합치기

 

문제 설명

  • 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 
  • 12 ⊕ 3 = 123
  • 3 ⊕ 12 = 312
  • 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
  • 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.

제한사항

  • 1 ≤ a, b < 10,000

입출력 예시

  • a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.
  • a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.

풀이

using System;

public class Solution {
    public int solution(int a, int b) {
        string sumAB = a.ToString() + b.ToString();
        string sumBA = b.ToString() + a.ToString();
        
        int AB = int.Parse(sumAB);
        int BA = int.Parse(sumBA);
        
        if(AB > BA){
            return AB;
        } else if( AB < BA){
            return BA;
        } else return AB;
    }
}


// string type -> int type 변환 value.ToString()
// int type -> string type 변환 int.Parse(value)

// string으로 변환 후 덧셈을 진행하게 되면 숫자형이 아닌 문자형의 결합이기 때문에 조건에 만족한다.
// int로 변환하는 이유
// 1. 수의 비교를 하기 위함
// 2. 문자열은 크기를 비교할 수 없다.

 

95. 홀수 vs 짝수

 

문제 설명

  • 정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.

제한사항

  • 5 ≤ num_list의 길이 ≤ 50 
  • -9 ≤ num_list의 원소 ≤ 9

입출력 예시

 

  • 홀수 번째 원소들의 합은 4 + 6 + 7 = 17, 짝수 번째 원소들의 합은 2 + 1 + 6 = 9 이므로 17을 return합니다.
  • 홀수 번째 원소들의 합은 -1 + 5 + 3 = 7, 짝수 번째 원소들의 합은 2 + 6 = 8 이므로 8을 return합니다.

풀이

using System;

public class Solution {
    public int solution(int[] num_list) {
        int sumA = 0;
        int sumB = 0;
        for(int i = 0; i < num_list.Length; i+=2){
            sumA += num_list[i];
        }
        
        for(int i = 1; i < num_list.Length; i+=2){
            sumB += num_list[i];
        }
        
        if(sumA > sumB){
            return sumA;
        } else if(sumA < sumB){
            return sumB;
        } else return sumA;
    }
}

// 홀수와 짝수의 합을 저장할 변수 A, B 선언
// for 반복을 통해 합을 저장 후 비교

 

96. 세균 증식

 

문제 설명 

  • 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 1 ≤ n ≤ 10 
  • 1 ≤ t ≤ 15

입출력 예시 

 

  • 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.
  • 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.

풀이

using System;

public class Solution {
    public int solution(int n, int t) {
        for(int i = 0; i < t; i++){
            n *= 2;
        }
        
        return n;
    }
}

// t가 1 증가하면, n은 2배수로 증가

 

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