본문 바로가기
728x90

분류 전체보기58

[C++][백준] 7662 이중 우선순위 큐 이번 문제는 약간의 시행착오가 있었지만 골드4 치고는 꽤 쉽다고 생각이 들었다.문제이중 우선순위 큐(dual priority queue)는 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조이다. 전형적인 큐와의 차이점은 데이터를 삭제할 때 연산(operation) 명령에 따라 우선순위가 가장 높은 데이터 또는 가장 낮은 데이터 중 하나를 삭제하는 점이다. 이중 우선순위 큐를 위해선 두 가지 연산이 사용되는데, 하나는 데이터를 삽입하는 연산이고 다른 하나는 데이터를 삭제하는 연산이다. 데이터를 삭제하는 연산은 또 두 가지로 구분되는데 하나는 우선순위가 가장 높은 것을 삭제하기 위한 것이고 다른 하나는 우선순위가 가장 낮은 것을 삭제하기 위한 것이다.정수만 저장하는 이중 우선순위 큐 Q가 .. 2024. 9. 18.
[C++][백준] 17219 비밀번호 찾기 문제2019 HEPC - MAVEN League의 " 비밀번호 만들기"와 같은 방식으로 비밀번호를 만든 경민이는 한 가지 문제점을 발견하였다. 비밀번호가 랜덤으로 만들어져서 기억을 못 한다는 것이었다! 그래서 경민이는 메모장에 사이트의 주소와 비밀번호를 저장해두기로 했다. 하지만 컴맹인 경민이는 메모장에서 찾기 기능을 활용하지 못하고 직접 눈으로 사이트의 주소와 비밀번호를 찾았다. 메모장에 저장된 사이트의 수가 늘어나면서 경민이는 비밀번호를 찾는 일에 시간을 너무 많이 쓰게 되었다. 이를 딱하게 여긴 문석이는 경민이를 위해 메모장에서 비밀번호를 찾는 프로그램을 만들기로 결심하였다! 문석이를 도와 경민이의 메모장에서 비밀번호를 찾아주는 프로그램을 만들어보자. 입력첫째 줄에 저장된 사이트 주소의 수 N(1 .. 2024. 9. 16.
[SSU::DoCode] #05 전투 UI 업데이트 및 여러가지 이번에는 드디어 디자이너들로부터 몇가지 이미지들을 받아 프로그램의 비주얼 업데이트가 적용되었습니다. 전투 UI 업데이트 우선 단순한 사각형 두개가 늘어났다 줄었다 하던 상황에서 위처럼 테두리 일러스트를 적용하였습니다또한 옆에 구체적인 수치까지 적용하여 얼마나 남았는지 확인도 가능합니다. 그리고 HP와 MP가 깎이는 것에 대한 비주얼 업데이트도 진행했습니다.마치 철권같은 이펙트를 입혀보았습니다.코드는 아래와 같습니다.#ui 바 숫자 표시 hpText = str(round(sm.HP,1))+' / 200' hp_value = font.render(hpText,True,black) screen.blit(hp_value, (500, 43)) mpText = str(round(sm.MP,1).. 2024. 9. 11.
[C++][백준] 13977 이항계수와 쿼리 이 문제는 빠른 팩토리얼 연산을 하면 해결할 수 있다.우리가 사용할 연산 방법은 페르마의 소정리를 이용해서 문제를 해결하는 방법이다.임의의 소수 p와 p!=a 인 임의의 자연수 a에 대해 a^p-1 == 1(mod p) 가 성립한다. 라는 정리이다.이 정리를 이용하면 a^-1 == a^p-2(mod p) 라는 것을 유도할 수 있다.이제 코드를 보자#include#define N 4000000#define MOD 1000000007using namespace std;using ll = long long;ll M;ll c,R;ll fac[N + 1], facinv[N + 1];ll power(ll base, ll index) {    ll r = 1;    while (index) {        if (i.. 2024. 9. 4.
[SSU::DoCode] # 04 타이틀 화면과 버튼 - 1 몇주간 저희 프로젝트 팀에 변화가 생겼습니다.일단 컴학인 저희의 캐릭터 그리기 한계를 인정하고글로벌 미디어 학부 2명을 디자이너로 영입하였습니다. SSU::DoCode 로고 제작 완료위 로고는 팀의 대표인 제가 직접 제작하였고 한땀한땀 도트를 찍어 제작하였습니다 ㅋㅋㅋ 버튼 클래스 제작먼저 파이게임은 버튼 기능을 따로 제공하지 않는 것 같아 직접 클래스를 이용해서 버튼을 제작하였습니다.코드는 아래와 같습니다.인자로 버튼의 위치, 크기, 버튼에 넣을 텍스트, 폰트, 텍스트 색깔, 버튼 색깔, 버튼에 마우스가 올라갔을 때 색, 버튼 입력 시 작동할 함수를 받습니다.class Button: def __init__(self, position, size, text, font, text_color, butto.. 2024. 8. 24.
[SSU::DoCode] # 03 전투 UI 업데이트 이번에는 전투 시 UI를 업데이트를 진행하였습니다.아직 일러스트레이터를 구하지 못해서 단순하게만 구현한 점 양해 부탁드립니다. 결과물 화면위쪽 빨간색이 체력, 파란색이 주력에 해당하는 부분이고, 검정색이 캐릭터입니다.체력바, 주력바 관리체력과 주력이 닳은 모습입니다. 체력의 경우, 추후 제공될 반전술식이라는 아이템 효과때문에 초당 0.1씩만 회복되어 천천히 오르도록 설정해두었고,주력의 경우, 전투 중 술식을 꾸준히 사용하되 남발하지 못하게 하기 위해 초당 10씩 차오르게 설정하였습니다. 체력, 주력이 차오르는것을 time모듈의 sleep를 사용하면 다른 키를 누를 수 없기 때문에 threading 모듈을 import해서 캐릭터가 움직이는 상태에도 상태바를 업데이트 할 수 있도록 하였습니다. 상태 쓰레드 .. 2024. 8. 8.
728x90
반응형