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

최근 글 👑

Lv0 C# 프로그래머스 #15 - 문자열 정수의 합, flag에 따라 다른 값 반환하기, 정수 부분

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

46. 문자열 정수의 합

 

문제 설명

  • 한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 3 ≤ num_str ≤ 100

입출력 예시

  • 문자열 안의 모든 숫자를 더하면 45가 됩니다.
  • 문자열 안의 모든 숫자를 더하면 1이 됩니다.

풀이

using System;
using System.Linq;

public class Solution {
    public int solution(string num_str) {
        return num_str.ToCharArray().Select(x => int.Parse(x.ToString())).Sum();
    }
}

// Linq 문법 이용
// num_str을 문자 배열로 변환
// Select를 통해 각각 요소를 문자열로 변환 후, 인트형으로 변환
// ToString() 하는 이유는 int.Parse() 함수는 문자열을 받기 때문
// Sum() 함수로 합한다.

47. flag에 따라 다른 값 반환하기

 

문제 설명

  • 두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.

제한사항

  • -1,000 ≤ a, b ≤ 1,000

입출력 예시

  • 예제 1번에서 flag가 true이므로 a + b = (-4) + 7 = 3을 return 합니다.
  • 예제 2번에서 flag가 false이므로 a - b = (-4) - 7 = -11을 return 합니다.

풀이

using System;

public class Solution {
    public int solution(int a, int b, bool flag) {
        if(flag) return a + b;
        else return a - b;
    }
}

// if, else문을 이용

 

48. 정수 부분

 

문제 설명

  • 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 0 ≤ flo ≤ 100

입출력 예시

  • 1.42의 정수 부분은 1입니다.
  • 69.32의 정수 부분은 69입니다.

풀이

using System;

public class Solution {
    public int solution(double flo) {
        return (int)Math.Floor(flo);
    }
}

// Math.Floor를 이용하여 정수만을 남긴 후, Int형으로 변환하여 반환
// Int형으로 반환하는 이유는 solution 함수의 타입이 int이기 때문이다.

 

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

 

반응형