강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

cndaks19님의 프로필 이미지
cndaks19

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이2

피라미드 문제 풀이

작성

·

31

0

피라미드 문제 풀이를 참고의 print() 때문에 뭔가 이중반복문일것 같은데 도저히 생각이 안나서 String을 활용해서 풀었는데요, 어느 코드가 더 좋은 코드인지 코드 짤 때 판단이 어렵습니다 ㅠㅠ

 

package loop.ex;

public class LoopEx5 {

    public static void main(String[] args) {
        int rows = 50;
        int i = 1;
        String star = "*";

        while (i <= rows) {
            System.out.println(star);
            star = star + "*";
            i++;
        }
    }
}

답변 1

0

안녕하세요. cndaks19님, 공식 서포터즈 OMG입니다.

작성하신 코드는 가독성도 좋고 문제의 요건을 잘 충족했습니다 😀

다만 현재 과정이 아직 String을 배우기 전인 입문 강의 단계이고, 예제 이름도 NestedEx2인 것을 보아, 강의에서 의도한 풀이는 이중 루프(Nested Loop)를 활용하는 방식이었을 것 같습니다.

추가로 String을 덧셈 연산하는 방식은 메모리 효율 측면에서 아쉬움이 있지만, 지금은 효율성보다 요구사항을 만족하는 구현 자체에 집중하시는 것이 좋습니다. ^^

이후 강의를 진행하면서 영한님께서 더 효율적이고 좋은 코드를 작성하는 기준을 계속 설명해 주실 예정이며, 강의 로드맵을 따라가시면 자연스럽게 습득하실 수 있을 것입니다.

감사합니다.

cndaks19님의 프로필 이미지
cndaks19
질문자

오오! 그렇군요, 메모리효율성까지 답변 감사합니다 ㅎㅎ 열심히 강의 따라가면서 공부해보겠습니다!

cndaks19님의 프로필 이미지
cndaks19

작성한 질문수

질문하기