suyeonme

[Algorithm] For Loop 본문

프로그래밍👩🏻‍💻/알고리즘

[Algorithm] For Loop

suyeonme 2022. 6. 6. 10:43

for loop은 단순하다. 하지만 for loop도 어떻게 작성하느냐에 따라서 퍼포먼스가 달라진다. 

예를 들어, n만큼 +와 -를 번갈아 출력하는 코드를 짠다고 해보자.

 

가장 쉽게 떠올릴 수 있는 방법이다. 하지만 아래와 같이 코드를 작성해야할 경우 2가지 문제가 있다.

1. 반복할 때 마다 if문을 실행해야한다. 

2. 변경할 때 유연하게 대응하기 어렵다. (i값을 바꾸고 싶은 경우  i와 n의 값을 마찬가지로 수정해야한다)

for(int i = 0; i < n; i++) { 
  if(i % 2 == 0) {
    System.out.print("+")
  } else {
    System.out.print("-")
  }
}

 

위의 코드를 아래와 같이 최적화할 수 있다. 아래 코드는 반복마다 if문을 실행하지 않는다. 또한 for loop도 적게 돈다. 

for(int i = 0; i < n / 2; i++) {
  System.out.print("+-");
}

  if(n % 2 != 0){
    System.out.print("+")
  }
Comments