workSpace/ALGORITHM

[문자열 수정하기]

J o e 2021. 2. 2. 08:30

[문제]

문자열 배열 vector<string> text가 있습니다.

모든 문자열이 가장 긴 문자열의 길이와 동일한 길이를 가지도록 하고 싶습니다.

만약 어떤 문자열의 길이가 가장 긴 문자열의 길이보다 짧다면, 길이가 가장 긴 문자열의 길이와 같아 질때 까지, 그 문자열의 앞에 빈문자를 추가합니다.

위 규칙대로 변환된 문자열 배열을 리턴하세요.

풀이 1) - javaScript

더보기
function solution(text){
  var len = [];
  var result = [];
  for(var i = 0; i<text.length;i++){
    len[i]=text[i].length;
  }
  var max = Math.max.apply(null, len);
  for(var i = 0; i< text.length;i++){
    result[i] = add([max-text[i].length], text[i]);
  }
    return result;
}
 
function add(n, s){
  var b = "";
  for(var i=0;i<n;i++){
    b+=" ";
  }
  return b+s;
}

풀이 2) - java

더보기
public class Solution{
   public String[] solution(String[] text){
		int max=0;
		for(int i=0;i<text.length;i++) {
			max = Math.max(max, text[i].length());
		}
		for(int i=0;i<text.length;i++) {			
			int temp=max-text[i].length();
			String s = " ";
			for(int j=0;j<temp;j++) {
				text[i]=s+text[i];
			}			




		}
		return text;
	}
}

풀이 3) - python

더보기
class Solution:
    def solution(self, text):
        test=len(sorted(text[::], key=lambda x: len(x))[-1])
        for idx,s in enumerate(text):
            text[idx] = " "*(test-len(s)) + s
        return text