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

최근 글 👑

C# 프로그래머스 #29 - A 강조하기, 꼬리 문자열, 홀짝에 따라 다른 값 반환하기

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

88. A 강조하기

 

문제 설명

  • 문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.

제한사항

  • 1 ≤ myString의 길이 ≤ 20 
  • myString은 알파벳으로 이루어진 문자열입니다.

입출력 예시

 

  • 입출력 예 #1 
    • 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다. 
    • 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다. 
    • 따라서 "AbstrAct AlgebrA"를 return 합니다. 
  • 입출력 예 #2 
    • 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다. 
    • 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다. 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다. 
    • 따라서 "progrAmmers"를 return 합니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
    public string solution(string myString) {
        List<char> result = new List<char>();
        foreach(char cha in myString){
            if(cha == 'a'){
                result.Add('A');
            } else if(cha != 'A'){
                result.Add(char.ToLower(cha));
            } else {
                result.Add('A');
            }
        }
        return new string(result.ToArray());
    }
}

// 빈 문자 리스트 result 선언
// foreach 반복문 이용
// 문자가 a이면, result에 A 삽입
// A가 아니라면 소문자로 변환 후 삽입 문자는 `char.ToLower(변수) 로` 사용
// A라면 A삽입
// 리스트를 ToArray() 메서드를 이용해 배열로 변환 후 문자열로 반환

 

89. 꼬리 문자열

 

문제 설명 

  • 문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다. 예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고 문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다. 

  • 문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때, str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 2 ≤ str_list의 길이 ≤ 10 
  • 1 ≤ str_list의 원소의 길이 ≤ 10 
  • 1 ≤ ex의 길이 ≤ 5

입출력 예시 

 

  • 리스트 안의 모든 문자열이 "c"를 포함하므로 빈 문자열을 return합니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
    public string solution(string[] str_list, string ex) {
        List<string> result = new List<string>();
        
        foreach(string str in str_list){
            if(!str.Contains(ex)){
                result.Add(str);
            }
        }
        return string.Join("" , result.ToArray());
    }
}

// 빈 리스트 result 선언
// foreach 반복문을 이용, str에 ex 문자열이 포함되지 않으면 result에 추가
// 리스트를 배열로 변환 후 string.Join("조건", 변수) 를 통해 문자열로 반환

 

90. 홀짝에 따라 다른 값 반환하기

 

문제 설명 

  • 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.

제한사항 

  • 1 ≤ n ≤ 100

입출력 예시 

 

  • 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.
  • 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.

풀이

using System;

public class Solution {
    public int solution(int n) {
        int result = 0;
        if(n % 2 == 1){
            for(int i = 1; i <= n; i+=2){
                result += i;
            }
        } else {
            for(int i = 0; i <= n; i+=2){
                result += i*i;
            }
        }
        return result;
    }
}

// 정수 변수 result 선언
// n이 홀수인 경우 n이하의 홀수들의 합 반환
// n이 짝수인 경우 n이하의 짝수들의 제곱의 합 반환

 

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