본문 바로가기

전체 글3

동적 계획법 동적 계획법(Dynamic Programming) 주어진 문제 전체를 일련의 부분 문제로 분해하여 각 부분을 메모이제이션 하면서 작은 문제에서 큰 문제로 순서대로 답을 구하는 방법 핵심 : 무수히 많은 상태를 얼마나 잘 정리하여 부분 문제로 구성 동적 계획법은 분야를 넘나들며 다양하게 적용할 수 있다. 냅색 문제 스케줄링 문제 발전 계획 문제 편집 거리(diff 명령어) 음성 인식 패턴 매칭 문제 문장 띄어쓰기 은닉 마르코프 모델 문제의 폭이 넓은 대신에 적용하는 패턴이 다앙하여 습득하기 어려운 단점이 있다. 2023. 10. 24.
ProgressBar 커스텀하기 Qt의 기본제공 ProgressBar는 별로다. 현재 몇 %인지도 모르고 안 이쁘다! 그래서 간단하게 커스터마이징 해보자! QML은 자유도가 높아서 얼마든지 커스터마이징 하여 내가 원하는 것들을 만들 수 있다. ProgressBar 만들기 ProgressBar{ id: progress value: 0.2 } 밋밋한 프로그래스 바가 생성된다. 먼저 배경부터 만들어주자! Qt의 공식문서에서 보면 background 프러퍼티를 사용하면 배경을 설정할 수 있다. ProgressBar{ id: progress width:200 height:20 value: 0.1 //property의 뒷 배경 설정 background: Rectangle{ implicitHeight: parent.height implicitWid.. 2023. 9. 25.
QML + QAbstractTableModel 예제 QML + QAbstractTableModel 예제 //tablemodel.h class usrDefineType { public: //기본생성자 //기본 소멸자 //기본 복사생성자 //기본 대입연산자 int a; Qchar b; QString c; bool d; } class TableModel : public QAbstractTableModel { Q_OBJECT public: enum ColumnName { id = Qt::UserRole, type, Data, status }; explicit TableModel(); //필수적으로 override. int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnC.. 2023. 9. 19.