본문 바로가기

개인 공부14

[개발] 공부하며 정리한 "Double Buffering" 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! 이전 문서에서 화면이 깜빡였던 이유와 그 해결법인 더블 버퍼링에 대해서 알아보도록 하자. 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 이전 문서에서 사각형이 움직이기는 했지만, 형체를 알아보지 못할 정도로 잘 보이지 않았다. 이 문제가 발생하는 이유는 현재 화면을 표시하고 있는 방법인 "싱글 버퍼링"이 화면을 그리는 작업과 화면을 표시하는 작업이 서로 분리되어 있어 화면에 그림을 그리기도 전에 렌더링을 해버리기 때문이라고 보면 된다. 따라.. 2023. 10. 22.
[백준] 16918번 : 봄버맨 (C++) 16918번 : 봄버맨 문제) 봄버맨은 크기가 R×C인 직사각형 격자판 위에서 살고 있다. 격자의 각 칸은 비어있거나 폭탄이 들어있다. 폭탄이 있는 칸은 3초가 지난 후에 폭발하고, 폭탄이 폭발한 이후에는 폭탄이 있던 칸이 파괴되어 빈 칸이 되며, 인접한 네 칸도 함께 파괴된다. 즉, 폭탄이 있던 칸이 (i, j)인 경우에 (i+1, j), (i-1, j), (i, j+1), (i, j-1)도 함께 파괴된다. 만약, 폭탄이 폭발했을 때, 인접한 칸에 폭탄이 있는 경우에는 인접한 폭탄은 폭발 없이 파괴된다. 따라서, 연쇄 반응은 없다. 봄버맨은 폭탄에 면역력을 가지고 있어서, 격자판의 모든 칸을 자유롭게 이동할 수 있다. 봄버맨은 다음과 같이 행동한다. 가장 처음에 봄버맨은 일부 칸에 폭탄을 설치해 놓는다.. 2023. 9. 11.
[백준] 22862번 : 가장 긴 짝수 연속한 부분 수열 (large) (C++) 10984번: 내 학점을 구해줘 문제) 길이가 N인 수열 S가 있다. 수열 S는 1 이상인 정수로 이루어져 있다. 수열 S에서 원하는 위치에 있는 수를 골라 최대 K번 삭제를 할 수 있다. 예를 들어, 수열 S가 다음과 같이 구성되어 있다고 가정하자. 수열 S : 1 2 3 4 5 6 7 8 수열 S에서 4번째에 있는 4를 지운다고 하면 아래와 같다. 수열 S : 1 2 3 5 6 7 8 수열 S에서 최대 K번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 구해보자. 입력 : 수열 S의 길이 N와 삭제할 수 있는 최대 횟수인 K가 공백으로 구분되어 주어진다. 두 번째 줄에는 수열 S를 구성하고 있는 N개의 수가 공백으로 구분되어 주어진다. 출력 : 수열 S에서 최대 K.. 2023. 9. 7.
[백준] 10282번 : 해킹 (C++) 10282번 : 해킹 문제) 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 그로부터 일정 시간 뒤 a도 감염되고 만다. 이때 b가 a를 의존하지 않는다면, a가 감염되더라도 b는 안전하다. 최흉최악의 해커 yum3이 해킹한 컴퓨터 번호와 각 의존성이 주어질 때, 해킹당한 컴퓨터까지 포함하여 총 몇 대의 컴퓨터가 감염되며 그에 걸리는 시간이 얼마인지 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스의 개수는 최대 100개이다. 각 테스트 케이스는 다음과 같이 이루어져 있다. 첫째 줄에 컴퓨터 개수 n, 의존성 개수.. 2023. 9. 5.