-
백준 2438~2446번 별찍기 나만의 팁.Programming (Others)/Data Structure & Algorithm 2022. 6. 30. 19:34
1. 일반적인 반복문은
for (int i = 0; i < N; i++)
이런 식으로 i를 0부터 선언하고, 두 번째 항 (조건항)에 등호 없는 부등호를 넣어 계산한다.
하지만 별찍기의 경우 이렇게 하면 오히려 헷갈리므로,
for (int i = 1; i <= N; i++)
과 같이 우리가 현실 세계에서 세는 숫자와 동일하게 i가 변하도록 짜 주자.
2. 공백과 별이 섞여 있는 경우(ex. 가운데 정렬, 오른쪽 정렬)의 경우
for (i){ for(j) // 공백 for(j) // 별 }
이런 식으로 for문을 짜주는데, 이 때 공백 반복문은 for (int j=1; j<=N-i; j++) 로 짜 주고
별 반복문은 for(int j=1; j <= N이 없고 i로 된 식; j++) 로 짜 준다.
이 때 별이 증가하는 형태가 아닌, 감소하는 형태일 경우
별 반복문을 변형하지 말고, 가장 바깥의 i로 된 반복문을 감소하는 형태(int i=N; i >= 1; i-- 와 같이)로 바꿔 준다.
'Programming (Others) > Data Structure & Algorithm' 카테고리의 다른 글
백준 10807번 : 배열을 이용해 시간복잡도 줄이기 (0) 2022.02.13