Develop 2

[인프런 워밍업클럽(자구알)] 연결리스트, 스택, 큐

(실습은 파이썬으로 진행하였습니다.)연결리스트 왜 쓰나요?배열은 인덱스를 기반으로 값을 참조할 때 시간복잡도가 낮다는 장점(O(1))이 있습니다. 그러나 시작할 때 얼만큼의 메모리 공간이 필요한지 미리 설정해두고, 그만큼만 써야한다는 단점과 더불어, 배열 중간에 값을 삭제하거나 추가할 경우 한칸씩 밀거나 당겨야하므로 값의 삭제나 추가 시 번거로워진다는 단점이 있습니다. 이를 해소하는것이 연결리스트입니다. 파이썬, JS의 리스트와 일반적인 배열이 다른 점파이썬의 리스트나, JS의 배열은 C언어 등 일반적인 배열과 다릅니다. 일반적인 배열의 경우 정적인(static) 배열로, 크기가 고정되어있으며 같은 타입의 데이터만 저장할 수 있습니다. 또한 메모리가 연속적이어서 배열의 첫 번째 주소만을 이용하여 다른 인..

Develop 2025.03.17

[인프런 워밍업클럽(CS)]미션1

1. 아래의 코드는 1초 마다 플레이어가 스킬을 사용했는지 체크하는 코드입니다. 이 방식은 폴링방식입니다. 1초마다 체크하기 때문에 성능에 좋지 않습니다. 이를 해결하기 위한 방식으로 어떤 걸 이용해야 할까요?while(true){wait(1); // 1초 멈춤bool isActivated = checkSkillActivated(); // 체크}인터럽트 방식으로 바꿔주면 됩니다. 인터럽트 방식으로 바꾸기 위해서는 checkSkillActivated()를 매번 주기적으로 호출하지 않고, 이벤트가 발생했을때만 처리하도록 설계해야합니다.이를 위해서는 이벤트 기반의 프로그래밍 방식으로 변경해야합니다.이벤트 기반의 프로그래밍 방식으로 변경하는 방법으로는 크게 두 가지 정도를 꼽을 수 있는데,1. 콜백 함수(Cal..

Develop 2025.03.15