본문 바로가기

알고리즘/[프로그래머스]Lv.0

[프로그래머스]Lv0. 문자 반복 출력하기

본 페이지는 C++ 독학을 위해 작성한 포스트입니다 풀이과정도 포함되어있지만 문법공부에 대한 비중이 있습니다.
(+  Java언어 내용도 포함되어있습니다. )

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

1.문제설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

 

2. 문제해결 접근

  • 각 단어를 쪼갠다 배열에 저장 - split()사용?
  • 반복문을 통해 각 단어를 n번만큼 배열에 저장될 수 있게한다.

 

3.답안 : [ 언어 : java ]

String answer = "";
		//  각단어를 쪼갠다 spilt()? 
		// 반복문을 통해 각 단어가 n번만큼 출력될 수 있게 한다.
		
//		String[] result = my_string.split("");
		char[] result = my_string.toCharArray();
		
		// 자른거 확인
//		for (int i = 0; i < result.length; i++) {
//			System.out.println( result[i] );
//		}
		
		// 이제 반복문으로 출력해볼까
		for (int i = 0; i < result.length; i++) {
			for(int j = 0 ; j < n; j++) {
				answer += result[i];
				
			}
		}
		
		// 반복횟수를 n번만큼으로 규정하려면 어떻게??

		System.out.println( answer );

split("")이나 toCharArray() 모두 문자열을 쪼개는 함수로 배열에 저장한 후, 반복문을 통해 출력이 가능하다.

 

4. C++ 답안

#include <string>
#include <vector>
#include <iostream>

using namespace std;

string solution(string my_string, int n) {
    string answer = "";
    
   for(int i = 0; i < my_string.length() ; i++){
        for(int j = 0; j < n; j++){
            answer += my_string[i];
        }
    }
    
    
    return answer;
}

int main(){

    
    cout << solution("hello", 3);


    return 0;
}