728x90
SMALL

📚 개발 일지 21

[Raspberry Pi + PyGame] 파이썬으로 게임 구현하기 - 사용법, 예제

공식 문서에 나와있는 sample project 부터 보자.| 게임 셋업import pygamepygame.init() # 이니셜라이즈screen = pygame.display.set_mode((1280, 720)) # 창의 크기clock = pygame.time.Clock() # 시계 객체 생성running = True # true인 동안 실행할 bool 변수 | 게임 부분while running:| 이벤트 처리for event in pygame.event.get(): # 사용자가 X를 누르면 if event.type == pygame.QUIT: # running을 False로 바꾸고 while문을 빠져나온다. running = False파이게임의 구조적 특성상 게임 실행 중 ..

[프로그래머스] 131128 숫자여행

문제 설명두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다.예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2..

[백준] 1654번: 랜선 자르기 파이썬 | 실버 2

시간 제한메모리 제한제출정다맞힌 사람정답 비율2 초128 MB269145656764432321.973%문제집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다.이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.)편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 ..

이분 탐색

이분 탐색은 정렬된 데이터에서 원하는 값을 빠르게 찾는 알고리즘이다. 말 그대로 탐색 범위를 절반씩 줄여가며 찾는 방식이다. 사전에서 단어를 찾을 때, 맨 앞부터 넘기지 않고 중간쯤을 펴보는 행동과 비슷하다.이 알고리즘은 “절반은 버려도 된다”는 확신이 있을 때만 사용할 수 있다. 즉, 데이터가 오름차순이나 내림차순으로 정렬되어 있어야 한다. 시작값(start)과 끝값(end)을 기준으로 중간값(mid)을 구한 후, 원하는 값과 비교하며 탐색 범위를 좁혀간다.한 번 비교할 때마다 범위가 반으로 줄기 때문에, 시간 복잡도는 O(log n)이다. 이진 탐색이 떠오르는 문제 유형이분 탐색은 단순히 배열에서 값을 찾는 데만 쓰이지 않는다. "정답이 될 수 있는 값"을 직접 이분 탐색하는 문제에도 사용된다. 이..

[알고리즘] 정렬 알고리즘 정리

정렬 알고리즘은 데이터를 특정 기준에 따라 오름차순 또는 내림차순으로 나열하는 알고리즘이다. 데이터 탐색 속도를 높이고, 중복 제거나 비교 연산을 쉽게 하기 위해 필수적으로 사용된다. 이번 글에서는 기본적인 정렬 알고리즘 7가지를 소개한다. 1. 삽입 정렬삽입 정렬은 정렬되지 않은 데이터를 하나씩 꺼내어, 정렬된 영역에 적절한 위치에 삽입하는 방식이다. 두 번째와 첫 번째를 비교 후 회전세 번째와 첫 번째를 비교 후 회전, 세 번째와 두 번째를 비교 후 회전네 번째와 첫 번째를 비교 후 회전, 네 번째와 두 번째를 비교 후 회전, 네 번째와 세 번째를 비교 후 회전 ...평균과 최악 모두 수행 복잡도가 O(n²) 이지만 데이터가 거의 정렬되어 있을 땐 빠른 성능을 보인다. (최선 O(n)) 2. 쉘 정렬..

[알고리즘] 선형 구조와 비선형 구조

자료구조란?자료구조는 데이터를 컴퓨터의 기억장치에 효율적으로 저장하고, 처리하고, 관리하기 위한 방법을 의미한다. 우리가 알고리즘을 사용할 때 빠른 계산과 정렬, 검색을 위해 어떤 형태로 데이터를 저장할지가 매우 중요하다. 이러한 자료 구조는 크게 선형 구조와 비선형 구조로 나뉜다. 자료구조는 검색 엔진, 게임, 네비게이션, 운영체제 등 실생활 속 여러 기술에 폭넓게 활용된다. 선형 구조1. 배열배열은 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 가지는 집합이다. - 정적인 자료구조로 기억장소의 추가가 어렵다.- 데이터 삭제 시 데이터가 저장되어있던 기억장소는 빈 공간으로 남아 메모리 낭비 발생- 인덱스를 이용하여 데이터에 접근한다. (O(1))- 인덱스의 개수에 따라 n차원 배열이라 부른다..

[백준] 14502번: 연구소 파이썬 | 골드 4

시간 제한메모리 제한제출정답맞힌 사람정답 비율2 초512 MB116696680483810655.636%문제인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다.연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다.예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자.2 0 0 0 1 1 00 0 ..

[백준] 1697번: 숨바꼭질 파이 | 실버 1

https://www.acmicpc.net/problem/1697문제수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.입력첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다.출력수빈이가 동생을 찾는 가장 빠른 시간을 출력한다.시간 제한메모리 ..

[컴퓨터그래픽스] 3D 모델을 현실감있게 하는 방법 2, 베이스맵

지난 게시글에 이어 현실감있게 환경 구성하기 두 번째! 노말 맵을 통해 머테리얼 자체에 질감은 입혀졌지만 오브젝트에는 적용이 되지 않았다. 머테리얼이 이 매쉬에 입혀지는 방식에 문제가 있을 것이라 생각했다. 이것과 관련해서 노멀 맵 텍스쳐를 적용하기 전에 궁극적으로 궁금했던 부분이 내가 사용 중인 이 오브젝트의 베이스 맵 텍스쳐였다. | Base MapBase Map은 3D 모델의 표면을 가장 기본적으로 덮어주는 컬러 텍스처다. 오브젝트의 기본 색상과 질감을 담당하며 쉽게 말해 메쉬 표면에 가장 먼저 입혀지는 '바탕 이미지'인 것이다. Unity를 포함한 대부분의 3D 엔진에서 현실감과 스타일을 결정짓는 데 기본이 된다. 앞에서 노멀 맵을 설명할 때 했던 이미지 텍스쳐를 입히는 방법에서, 이미지 텍..

728x90
LIST