분류 전체보기 228

[BOJ] 2412 - 암벽 등반

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 https://www.acmicpc.net/problem/2412 2412번: 암벽 등반 어떤 암벽에 n(1 ≤ n ≤ 50,000)개의 홈이 파져 있다. 각각의 홈의 좌표는 (x, y)와 같이 표현되는데, |a - x| ≤ 2이고 |b - y| ≤ 2이면 (x, y)에서 (a, b)로 이동할 수 있다. 이와 같이 홈들을 이용하여 이동 www.acmicpc.net 난이도: 골드 3 사용언어: JAVA 풀이 기본적인 BFS를 사용하면 쉽게 해결할 수 있는 문제입니다. 단, 다음의 문장만 유의해서 풀이를 하시면 됩니다. 각각의 홈의 좌표는 (x, y)와 같이 표현되는데, |a - x| ≤ 2이고 |b - y| ≤ 2이면 (x, y)에서 (a, b..

[BOJ] 16437 - 양 구출 작전

개인적인 풀이일 뿐, 최적의 정답이 아님을 알려드립니다. 문제 https://www.acmicpc.net/problem/16437 16437번: 양 구출 작전 2, 3, 5번에 사는 모든 양들은 1번 섬으로 갈 수 있지만 7번 섬에 사는 양들은 1번 섬으로 가기 위하여 6번 섬을 거쳐야 하는데 6번 섬에 사는 늑대들의 수가 7번 섬에 사는 양들의 수보다 많으므로 www.acmicpc.net 난이도: 골드 3 사용언어: JAVA 풀이 이 문제는 트리 형태의 데이터 구조를 가진다는 점만 잘 이용하면 쉽게 해결할 수 있습니다. 트리의 순회 방법 중 후위 순회를 사용하면 트리의 Leaf Node부터 Root Node까지 차례로 올라오면서 남아있는 늑대의 수와 올라올 수 있는 양의 수를 쉽게 계산할 수 있습니다...

[Mendix] Domain model에서 Validation rules 추가

데이터베이스의 테이블을 정의할 때 데이터별로 Validation Rule들을 만들어 주고 싶을 경우가 생깁니다. 원하는 Entity를 우클릭하여 [Properties]에 들어가줍니다. [Validation Rules] 탭에서 [New] 버튼을 통해 쉽게 적용할 수 있습니다. [Student Num] Attribute는 Unique하게 관리하고 싶다면 위와 같이 만들어 줄 수 있습니다. [Age] Attribute를 15이상 100이하로 만들어주고 싶다면 위와 같이 설정할 수 있습니다. 이와 같은 방법으로 데이터의 조건을 추가해줌으로써 데이터베이스를 한층 더 효율적으로 관리할 수 있습니다. 이렇게 Validation Rule이 적용된 Attribute는 우측에 초록색 체크 아이콘이 나타나게 됩니다.

[Mendix] 데이터베이스 테이블 만들기

Mendix에서 데이터베이스 테이블을 만드는 방법을 알아보겠습니다. Mendix Studio에서 [Domain model]을 클릭해줍니다. 화면 상단에 보면 [Entity]라는 버튼이 있습니다. 이 버튼을 누르고 화면 아무곳에나 Entity를 만들어줍니다. 이 Entity가 하나의 테이블 역할을 하게 됩니다. 이제 만든 Entity를 우클릭 한 후 [Properties]를 클릭해줍니다. 가장 위에 있는 Name은 테이블의 이름이라고 생각하시면 됩니다. 본인이 원하는 이름으로 바꾸어줍니다. 그리고 아래 쪽에 있는 [Attributes] 하단의 [New] 버튼을 눌러줍니다. 여기서 원하는 Attribute를 추가할 수 있습니다. 가장 위에 위치한 Name 칸을 이용해 Attribute의 이름을 지정할 수 있..

[Mendix] Mendix Studio 사용하기

Mendix Studio는 대표적인 Low Code, No Code 개발 툴입니다. 오늘은 Mendix Studio를 사용하기 위한 준비를 해보겠습니다. 우선 https://signup.mendix.com/index.html 에서 Mendix에 회원가입을 해줍니다. Mendix signup.mendix.com 가입하셨다면 아래 링크에서 Mendix Studio를 설치하실 수 있습니다. https://marketplace.mendix.com/link/studiopro/9.15.0 Mendix Studio pro Mendix Studio pro 9.15.0 Stable June 29, 2022 Mendix Studio Pro is our low-code IDE for professional developer..

[VBA] Access DB 내 모든 테이블 List 출력

VBA를 이용해 개발을 하다보면 Access DB 내에 있는 모든 테이블의 이름을 List로 출력해주어야 할 일이 종종 있습니다. 우선 다음과 같이 테이블을 몇 개 만들어 줍니다. 저는 table1, table2, table3라는 3개의 테이블을 만들어주었습니다. 그리고 module에 아래의 코드를 삽입하고 실행해줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Sub Show_Table_List() Dim dbCon As ADODB.Connection '데이터베이스와의 연결을 담당하는 객체 Dim dbRs As New ADODB.Recordset '데이터 탐색 및 조작을 담당하는 객체 Set dbCon =..

[VBA] Access DB 연결 및 Select 실행

Excel에서 VBA를 사용하여 Access DB를 읽어오는 방법을 살펴보겠습니다. 우선 Access를 실행시켜서 테이블을 마음대로 하나 만들어줍니다. 그리고 VBA에서 module을 하나 만들어 다음의 코드를 작성해줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Sub accdb_select() Dim dbCon As ADODB.Connection '데이터베이스와의 연결을 담당하는 객체 Dim dbRs As New ADODB.Recordset '데이터 탐색 및 조작을 담당하는 객체 Dim dbQuery As String '실행할 sql Query Dim tableName As String Dim targetSht As Worksh..

[VBA] Worksheet_change 이벤트 (Sheet 내 값 수정 감지)

VBA 사용 시 Sheet 내에서 특정 셀의 값이 수정되었을 때 어떤 이벤트를 발생시키고 싶을 때 사용할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 Private Sub worksheet_change(ByVal Target As Range) Dim KeyCells As Range Set KeyCells = Range("A1:B2") If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then MsgBox (Target.Address & " : " & Cells(Target.Row, Target.Column).Text) End If End Sub Colored by Color Scripter cs Wor..

[VBA] Protected, Lock을 이용해 시트 잠그기

VBA에서 Protected와 Lock을 이용하면 시트의 내용을 수정하지 못하도록 설정할 수 있습니다. 또한, Locked를 False로 설정하면 원하는 Range만 내용을 수정할 수 있도록 만들 수도 있습니다. 바로 코드를 살펴보겠습니다. Sub LockOnlySelection() Dim pw As String pw = "123" 'You can change password Dim sht As Worksheet Set sht = Sheets("Sheet3") Dim unlock_target As String unlock_target = "A1:B2" If sht.ProtectContents = True Then 'if sheet is protected then unprotect sht.Unprotect..

[VBA] Progressbar 사용법

VBA에서 Progressbar를 사용하는 법을 알아보겠습니다. Progressbar는 작업의 진행률을 시각화해서 보여줄 때 유용하게 사용할 수 있습니다. 우선 도구 상자에 Progressbar가 기본적으로 나와있지 않기 때문에 도구 상자에 추가해주는 작업부터 해주어야 합니다. 도구 상자에서 우클릭 후 [추가 컨트롤] 메뉴에 들어가줍니다. 쭉 내려서 Progressbar을 찾아줍니다. 우측 체크 박스에 체크를 해준 뒤 [확인] 버튼을 눌러줍니다. 자 이제 Userform을 하나 만들고 Progressbar와 버튼 하나를 만들어줍니다. Progressbar가 잘 작동하는지 확인해주기 위해 0부터 100까지 반복되는 반복문을 하나 만들어 주겠습니다. 그런데 그냥 반복문을 실행하면 너무 빨리 작동이 끝나기 때..