별찍기 마름모 문제입니다.
348
3 asked
안녕하세요! 마름모 별찍기 문제입니다 !
우선 위에 마름모는 출력을 하였는데 밑으로 다시 내려오는 마름모가 안되어서 질문 드립니다.

for(let j =0; j<6 ;j++){
if(j % 2 ===0) continue
for(let i =0; i<3; i++){
for(i+ j+i ===5)
console.log(' '.repeat(i)+ '*'.repeat(j)+' '.repeat(3-i));
}
}
이 for문 에서 종료식을 바꿔야될것 같은데 지금은 종료식이 1씩 더해지는 것인데 혹시 종료식이 1씩 빼지는 것도 동시에 할수 있는 것 이 있을까요?
아니면 그림에 나온것 처럼 따로 k를 만들어서 해야되는 걸까요?
아니면 콘솔로 나온 결과는 반대로 해서 한번더 다시 나올수 있도록 해야되나? 라는 생각도 해보았습니다.
Answer 2
1
힌트를 드리자면
Math.abs 함수를 쓰시면 for문 한 방에 가능합니다(절댓값을 출력하는 함수입니다)
Math.abs(-1) === 1
Math.abs(1) === 1
0
힌트를 주신 이유가 숫자 범위를 - 까지 쓰라는 게 아닐까 해서 다시 해보았습니다.
마름모로 출력이 나오는데 2번이 나옵니다 왜 그러는지를 모르겠어서 다시 질문 합니다!
분명히 if문으로 합이 5가 되게 조건을 걸었는데
왜 for 문이 2번 반복을 하는걸까요?
0
일단 마이너스 범위를 하시는 건 맞습니다. 그런데 for문을 두 번 쓸 필요가 없습니다. 한 번이면 됩니다.
절댓값과의 규칙을 찾아보세요.
별 절댓값 공백
1 -2 2
3 -1 1
5 0 0
3 1 1
1 2 2
0
못 풀어서 찾아보다가 질문해주신 덕분에 힌트를 얻었네요.
절대값을 이용할 생각은 하지도 못 했어요.
저는 이렇게 해결했어요.
for(let i =0; i<5; i++){
console.log(' '.repeat( Math.abs(2 - i)) + '*'.repeat(5 - Math.abs(4 - i * 2)) )
}
자바스크립트 입문 강의 재생 안됨
0
75
2
쿵쿵따 조건문 질문입니다.
0
71
2
렛츠가릿 자바스트립트와 공유가 되나요
0
76
1
수강을 하기 전 공부순서에 관한 질문이 있습니다.
1
99
2
안녕하세요
0
100
2
1~45 필터링하는 코드에서 find대신 some써주는게 나을거같습니다.
1
76
2
고차 함수 작성법과 수업 진도 관련한 질문
0
80
3
break와 continue 9:55 내 continue 구문 질문
0
152
2
옵셔널 체이닝 적당한 깊이는 어느 정도인가요?
0
121
2
로또 추첨기 중 입력값을 검사할 때
0
135
2
2-14.else,else if,switch 관련 질문입니다.
0
107
2
가위바위보 이미지(rsp.png)가 안보여요
0
261
3
Math.random() 에 9을 곱하는 이유
0
172
4
클로저 관련해서 질문있습니다.
1
186
2
유튜브 댓글 보고 왔습니다!- 퀴즈 중복된 숫자 검사 for 문
0
245
1
event.target.textContent관련 질문
0
272
2
객체 참조 관련 질문
0
179
1
-2+ -2 = -4 음수 더하기 음수 - 셀프체크 계산기
0
463
1
숙제 질문
0
216
1
5강 async/await으로 가독성 높이기에서
0
226
1
야구게임 관련 질문입니다
0
182
1
쿵쿵따, 계산기에서 변수 선언
0
176
1
지뢰 힌트 사라짐(대괄호)
0
163
1
콜백 큐와 테스크 큐
0
163
1

