본문 바로가기

Algorithms/Programmers

Level 1 - 삼각형출력하기

printTriangle 메소드는 양의 정수 num을 매개변수로 입력받습니다.
다음을 참고해 *(별)로 높이가 num인 삼각형을 문자열로 리턴하는 printTriangle 메소드를 완성하세요
printTriangle이 return하는 String은 개행문자('\n')로 끝나야 합니다.

높이가 3일때

*
**
***

높이가 5일때

*
**
***
****
*****


풀이


public class PrintTriangle {

public String printTriangle(int num){

    String str ="";

    for(int i =1; i <= num; i++){

      for(int j = 0; j < i; j++){

        str += "*";

      }

      str +="\n";

    }

return str;

}


// 아래는 테스트로 출력해 보기 위한 코드입니다.

public static void main(String[] args) {

PrintTriangle pt = new PrintTriangle();

System.out.println( pt.printTriangle(3) );

}

}


다른 사람의 풀이-  for 문을 한번만 돌려서 하는 경우


public class PrintTriangle {
    public String printTriangle(int num){
    String result = "";
        String stars = "*";
        for(int i=0; i<num; ++i){
            result += stars+"\n";
            stars += "*";
        }
        return result;
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        PrintTriangle pt = new PrintTriangle();
        System.out.println( pt.printTriangle(3) );
    }
}



public class PrintTriangle {
    public String printTriangle(int num){
        char[] stars = new char[((num+1)*num/2)+num];
    for(int i = 1,n = 1; i < stars.length ;n++,i += (n+1) )
      stars[i] = '\n';
        return new String(stars).replace('\0','*');     
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        PrintTriangle pt = new PrintTriangle();
        System.out.println( pt.printTriangle(3) );
    }
}


'Algorithms > Programmers' 카테고리의 다른 글

Level 1 - 서울에서김서방찾기  (0) 2018.02.13
Level 1 - 스트링을 숫자로 바꾸기  (0) 2018.02.13
Level 1- 짝수와 홀수  (0) 2018.02.13
Level 1 - 행렬의 덧셈  (0) 2018.02.09
Level 1 - 약수의 합  (0) 2018.02.09