오랜만에 다시 연습하는
자바스크립트!
오랜만에 보니까 진짜 한두 달 사이에
정말 많이 까먹었다는 걸 느꼈다..
하 연초에 공부했던
시간이 아까워진다.. 흑 ㅜㅜ
아무튼 지금은
제로초님의 유튜브 강의 중
ES2020라는 재생목록을 통해서
자바스크립트 예제 문제 풀고
복습을 하는 중이다.
지금은 숫자야구 만드는 걸
하고있는 중인데 마침
별 찍기 연습을 하는 부분이었다.
이 정도는 다행히 아직
머릿속에 대강 있어서
조금 해보니까 쉽게 할 수 있었다.
참고로,
다이아몬드 별찍기를 제외한
다른 별찍기들은
여러 번 반복해서 해보면
거의 비슷하고 좀 쉬운 편이라
나는 다이아몬드만
새롭게 해 보았음!
별찍기로 다이아몬드를 하는거..
이거는 딱 머릿속에서
연상이 되지 않았다.
(참고로 이런 모양)
*
***
*****
***
*
머릿속으로는 잘 상상이 안 가서
나의 그린색 영롱한 뉴 베이비
아이패드 에어4를 열어서
프로크리에이트 어플을 켰다.
이러려고 샀던 건 아닌데..? ㅎㅎ
뭔가 알듯 말듯한 이 느낌이지만
대충 보다 보면
빈칸 개수에 2를 곱하고 별의 수를 더하면
항상 5가 나온다는 걸 알 수 있었다.
그럼 이제 빈칸의 개수와 별의 개수만
나오게 하면 되는 거다.
일단 나는 빈칸 수를 a, 별(*)의 수를 b라고
그냥 쉽게 정했다.
i는 반복문이 돌아가는 횟수이다!
근데 이건 아무리 봐도
덧셈, 곱하기, 빼기만 가지고는
나올 수 없는 순차적인 값이라
혹시 나머지?라는 생각이 들었다.
헐! 맞잖아??
그래서 결국 나오게 된 계산법!
참고로 자바스크립트에서
나누셈의 나머지는
% 연산자를 통해서 계산할 수 있다.
이걸 통해서 빈칸의 수와 별표의 수를
회차인 i를 통해서 표현하면,
a = 2 - (5 % i)
b = (5 % i) * 2 + 1
이 된다.
이제 수식이 나왔다면
그냥 반복문에 집어넣기만 하면
끝!
for ( i = 1; i < 6; i++) {
console.log(' '.repeat(2 - (5 % i)) + '*'.repeat( (5 % i) * 2 + 1) );
}
위 코드를 콘솔 창에 넣어보면
문제없이 잘 작동해서
다이몬드를 출력한다는 사실!
다른 답변이 있을 수도 있지만,
나 혼자 해보려고 다른 답은
찾아보지 않았다.
한번 보러 가야지 ㅎㅎ
휴 오랜만에 하는 자바스크립트,
살짝 땀날 뻔했다.. ㅎ
복습을 다시 해야 할 시간!
'ℹ️ INFORMATION > 💾 HTML + CSS + JS' 카테고리의 다른 글
[CSS] Flexbox와 Grid + 연습 게임 (1분 코딩님의 설명 추천) (0) | 2021.04.13 |
---|---|
[JS] 자바스크립트 DOM 스크립트 기본 문법 중 꼭 기억해야 하는 부분! (0) | 2021.04.01 |
[JS] 자바스크립트(JavaScript) 연산자들의 우선순위 (0) | 2021.02.26 |
[JS] 자바스크립트 함수를 이용해 간단한 계산기 만들기 예제! (feat.왕초보) (0) | 2021.01.10 |
스파르타 코딩 클럽 : 나홀로 코딩 후기 및 추천 ( 정규 수업 8만원 추가 할인 방법 공유) (0) | 2020.12.30 |