나 개발자 진짜 되냐?

바킹독 0x02 문제25 - 별찍기 8 / 백준 2445번 본문

C++을 시작해봐요!/알고리즘을 공부해봐요!

바킹독 0x02 문제25 - 별찍기 8 / 백준 2445번

Snow Rabbit 2025. 8. 27. 13:19

7번을 풀고 나니

꼭 굳이 for문을 그렇게 줄줄 달아가며 쓸 필요가 없다는 생각이 들었다.

이번엔 for문을 최소화해서 풀어보기로 마음먹었다.

그렇다.

그렇게 마음먹었었다.

이 문제를 보기 전까지...


 

 

문제는 이러했다. 아까랑 별 차이 없는 거 같았다. 하지만 예제는 큰 차이를 보였다.

 

 

두둥....

뭐지 이 리본은

 

그리고 뭔가 지금까지 별의 개수가 홀수개였는데

이번에는 짝수개이다.

머리가 복잡해진다. 어떻게 설계하면 될까??

 

일단 문제에서 봤듯 9줄이다.

삼항연산자로 풀게 된다면..

i부터 N까지

그리고

N+1부터 2N-1까지

이렇게 두 분류로 나눌 수 있다.

 

i <= N의 경우

별 : i

공백 : 2N - 2i

그리고 다시 별 : i

 

i > N의 경우

별 : 2N - i

공백 : 2i - 2N

다시 별 : 2N -i

 

자! 이렇게 한번 풀어보자!

 

 

와!!!!

삼항연산자는 몰라서 사실 문법을 다시 돌아가서 봤긴 했지만

 패턴은 맞아서!!

답을 한 번에 풀었다!!!!!!!!!!!!!!!!!!!!

왘!!!!!!!!!!!!!!!!!

와!!!!!!!!!!

와아아ㅏㅇ!!!!

갑자기 string으로 푸니까 for문 쓰기 싫어지네..ㅋㅋㅋ

아마 패턴도 거의 비슷할 거 같다. 

 

와.. 좀 뿌듯한데? 

 

처음에 헷갈려서 string을 삼항연산자에 썼는데

그것은 맞지 않다.

왜냐면 int로 시작했는데 갑자기 string ( i , ' ' ) 이건 형식이 다르다.

 

 

와..

나 이렇게 마지막 9번 문제도 풀 수 있을 거 같은데?!?!?!

ㅎㅅㅎ