본문 바로가기
공부/코딩테스트

프로그래머스/코딩 기초 트레이닝/C# - Day2

by 잰쟁 2024. 2. 18.
728x90

1) 덧셈식 출력하기

 

문제 설명

두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.

a + b = c

 

제한사항

  • 1 ≤ a, b ≤ 100

입출력 예

입력 #1

4 5

출력 #1

4 + 5 = 9

 

풀이

using System;

public class Example
{
    public static void Main()
    {
        String[] s;

        Console.Clear();
        s = Console.ReadLine().Split(' ');

        int a = Int32.Parse(s[0]);
        int b = Int32.Parse(s[1]);

        Console.WriteLine("{0} + {1} = {2}",a,b,a+b);
    }
}

 


2)  문자열 붙여서 하기

 

문제 설명

두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.

 

제한사항

  • 1 ≤ str1, str2의 길이 ≤ 10

입출력 예

입력 #1

apple pen

출력 #1

applepen

입력 #2

Hello World!

출력 #2

HelloWorld!

 

풀이

using System;

public class Example
{
    public static void Main()
    {
        String[] input;

        Console.Clear();
        input = Console.ReadLine().Split(' ');

        String s1 = input[0];
        String s2 = input[1];
        
        Console.WriteLine(s1 + s2);

    }
}

 


3) 문자열 돌리기

 

문제 설명

문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.

 

제한사항

1 ≤ str의 길이 ≤ 10

 

입출력 예

입력 #1

abcde

출력 #1

a
b
c
d
e

 

풀이

using System;

public class Example
{
    public static void Main()
    {
        String s;

        Console.Clear();
        s = Console.ReadLine();
        
        for(int i =0;i<s.Length;i++)
        {
            Console.WriteLine(s[i]);
        }

    }
}

 


▶ 문자열을 하나씩 떼어서 줄바꿈하여 출력

  => for문을 돌려서 문자열을 구성하는 알파벳 배열을 하나씩 출력하여 WriteLine()을 이용해 줄바꿈하여 출력

 


4) 홀짝 구분하기

 

문제 설명

자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.

 

제한사항

  • 1 ≤ n ≤ 1,000

입출력 예

입력 #1

100

출력 #1

100 is even

입력 #2

1

출력 #2

1 is odd

 

풀이

using System;

public class Example
{
    public static void Main()
    {
        String[] s;

        Console.Clear();
        s = Console.ReadLine().Split(' ');

        int a = Int32.Parse(s[0]);
        
        if(a%2 == 0)
        {
            Console.WriteLine("{0} is even",a);
        }
        else
        {
            Console.WriteLine("{0} is odd",a);
        }
    }
}

※ 홀짝 구분하기

숫자를 2로 나누어
· 나머지 == 0 : 짝수
· 나머지 == 1 : 홀수

C# 나머지 연산자 : %

▶ 참고 : * (곱하기) , / (나누기), % (나머지), + (더하기) , - (뺴기)

 


5) 문자열 겹쳐쓰기

 

문제 설명

문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

  • my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
  • 1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
  • 0 ≤ s  my_string의 길이 - overwrite_string의 길이

입출력 예

my_string overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrammerS123"

 

입출력 예 설명

입출력 예 #1

  • 예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.

입출력 예 #2

  • 예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.

 

풀이

using System;

public class Solution {
    public string solution(string my_string, string overwrite_string, int s) {
        string answer = my_string.Remove(s,overwrite_string.Length);
        answer = answer.Insert(s,overwrite_string);
        return answer;
    }
}

※ String.Remove / String.Insert 

1) String.Remove(int startIndex, int count)
   : startIndex에서 count 수 만큼을 삭제한 후의 값

2) String.Insert(int startIndex, string value)
   : startIndex에서 문자열 value를 삽입한 후의 값