코테/프로그래머스

[프로그래머스/C#]문자열 붙여서 출력하기/문자열의 앞의 n글자/문자열의 뒤의 n글

내꺼블로그 2024. 2. 13. 11:09

문자열 붙여서 출력하기


https://school.programmers.co.kr/learn/courses/30/lessons/181946

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

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);

    }
}

 

 

 

현재 string 배열 input에 공백을 기준으로 문자열이 나뉘어서 들어가 있는 상태.(Split(' ')이 공백을 기준으로 나눔. Split(문자)=> 문자 기준으로 나누는 함수)

현제 s1과 s2가 공백 기준 전 후 문자열이 들어가 있음.

고로 이 둘을 합치고 싶으면 그냥 s1+s2하면 됨.

 

 

 


 

※다른 분들의 코드 예시

 

 

다른예시 1

 

 

 

 

다른예시 2

 

 

 

 

다른예시 3

 

Replace 사용

String.Replace(str1, str2) => string에서 str1 부분을 str2로 바꾸는 함수.

 

 


 

 

 

 

 

 

문자열의 앞의 n글자


https://school.programmers.co.kr/learn/courses/30/lessons/181907

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

using System;

public class Solution {
    public string solution(string my_string, int n) {
        string answer = "";
        
        for(int i=0;i<n;i++){
            answer+=my_string[i];
        }
        
        return answer;
    }
}

 

 

사실 문자열 앞의 부분 따로 빼는 함수가 있을 것 같다만 그걸 몰라서 원초적으로 해봄.

my_string을 0번 인덱스부터 시작하여 n번까지로 for문을 돌려서 answer에다 my_string[i]번째 문자를 붙임.

 

 

 

 

 

Substring을 사용하는 방법도 있음.

Substring(시작위치) => 시작위치부터 끝까지 반환

Substring(시작위치, 길이) => 시작위치부터 길이만큼의 문자열 반환

여기서는 answer=my_string.Substring(0, n);을 하면 됨.

 

 


 

 

 

문자열의 뒤의 n글자


https://school.programmers.co.kr/learn/courses/30/lessons/181910

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

using System;

public class Solution {
    public string solution(string my_string, int n) {
        string answer = "";
        int end = my_string.Length;
        int start = my_string.Length-n;
        for(int i=start;i<end;i++){
            answer+=my_string[i];
        }
        return answer;
    }
}

 

 

뒤쪽 n개의 문자열들을 반환해야 하므로 시작 지점을 (주어진 문자열의 길이-n)으로, 끝 지점을 주어진 문자열의 길이로 잡음.

그 뒤 위와 같이 for문을 돌리면서 해당 인덱스의 my_string의 문자를 answer에 붙임.

 

 

 

 

여기도 Substring 사용 가능.

answer=my_string.Substring(my_string.Length-n)으로 가능. (my_string.Subsgring(my_string.Length-n, n)도 가능)