오늘의 목표
더보기
✔️ 프로그래머스 코테 문제 풀기
✔️ 개인 과제
⏱️ 오늘의 일정
프로그래머스 코테 문제 풀기
개인 과제
📜 프로그래머스 코테 문제 풀기
이진 변환 반복하기
function solution(s) {
var answer = [0, 0];
while (s.length > 1) {
answer[0]++;
for (let i = 0; i < s.length; i++) {
if (s[i] == '0') {
answer[1]++;
}
}
s = s.split("0").join("");
let tempSArray = [];
let tempsLength = s.length;
let quotient = 0;
let remain = 0;
while (true) {
quotient = Math.floor(tempsLength / 2);
remain = tempsLength - quotient * 2;
tempsLength = quotient;
tempSArray.push(remain);
if (quotient == 0) {
break;
}
}
s = tempSArray.reverse().join("");
}
return answer;
}
문제 설명대로 구현하니 다행히도 쉽게 해결할 수 있었다.
📜 개인과제
개인과제를 진행했다.
앞서 언급한대로 크롬 다이노 게임에서 다른 움직임을 줬다.
우선은 좌, 우 화살표로 공룡을 직접 움직일 수 있도록 수정했다.
if (event.code === "ArrowLeft") {
this.speed = -PLAYER_SPEED;
}
if (event.code === "ArrowRight") {
this.speed = PLAYER_SPEED;
}
keydown 이벤트에서 왼쪽 화살표를 입력하면, -speed 값을 주고,
keydown 이벤트에서 오른쪽 화살표를 입력하면, speed 값을 줘서 공룡 캐릭터를 움직인다.
if (event.code === "KeyA") {
if (this.fireAttackTimer <= 0 && this.fireCount > 0) {
let game = Game.GetInstance();
if (game != null) {
this.fireCount--;
game.jobQue.push(new Job(JOB_TYPE_CREATE_OBJECT_FIRE,
OBJECT_TYPE_FIRE, this.x, this.y));
this.fireAttackTimer = FIRE_ATTACK_TIMER;
}
}
}
A 키를 누르면 공룡 입에서 불꽃을 발사하도록 코드를 수정했다.
불꽃은 일정 개수를 가지고, R키를 눌러 재장전할 수 있다.
불꽃은 다가오는 선인장을 제거할 수 있다.
지금은 재장전할때, 바로바로 되는데 재장전시간을 둬서 선인장을 바로 없앨 수는 없도록 하긴 해야겠다.
https://github.com/YamSaeng/DinoRunner
'내일배움캠프' 카테고리의 다른 글
[내일배움캠프][TIL] 40일차 - 팀프로젝트 회의 (0) | 2024.10.09 |
---|---|
[내일배움캠프][TIL] 39일차 - 개인과제 (0) | 2024.10.08 |
[내일배움캠프][TIL] 37일차 - 모의 면접 (1) | 2024.10.01 |
[내일배움캠프][TIL] 36 일차 - 개인과제 스켈레톤 코드 (2) | 2024.09.30 |
[내일배움캠프] HTTP 와 TCP (0) | 2024.09.29 |