level 1. 삼각형출력하기 (java, python)
06 Mar 2017 | 알고리즘 프로그래밍level 1. 삼각형출력하기
문제
printTriangle 메소드는 양의 정수 num을 매개변수로 입력받습니다.
다음을 참고해 *
(별)로 높이가 num인 삼각형을 문자열로 리턴하는 printTriangle 메소드를 완성하세요
printTriangle이 return하는 String은 개행문자(‘\n’)로 끝나야 합니다.
풀이 (python)
def printTriangle(num):
s = ""
for i in range(num):
s += '*'*(i+1)+'\n'
return s
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( printTriangle(3) )
다른사람 풀이
def printTriangle(num):
return ''.join(['*'*i + '\n' for i in range(1,num+1)])
배운점
- ’‘.join(List) 를 통해서 리스트의 각 요소를 그대로 붙여서 스트링으로 만들 수 있다.
풀이 (java)
public class PrintTriangle {
public String printTriangle(int num){
String result = "";
for(int i=1; i<=num; i++){
String star = new String(new char[i]).replace("\0", "*");
result += star + "\n";
}
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){
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) );
}
}
배운점
- String 클래스의 replace 메소드