전체 글(394)
-
윈도우 폼 -(1)
1. Windows Forms 개요 -. NET Framework의 일부로, Windows 표준 GUI 응용프로그램 개발을 위한 프레임워크 - 주요 구성 요소: Form, Control, Event Form 프로그램이 표시되는 창 Form 클래스를 이용하여 구현 Control Button이나 Text Box 등 Form에 추가되는 구성 요소들 Event 버튼을 클릭하거나 스크롤 바를 움직이는 등 컨트롤에 변화가 생길 때 발생하는 상황 2. Form 클래스 - Form 클래스는 상속 관계로 이루어지며, 창/대화상자를 나타냄 - 주요 속성 및 메서드: Activate(), Close(), CenterToScreen(), LayoutMdi(), OnResize(), ShowDialog() 등 * 속성을 변경할..
2024.04.09 -
5. E-R model
디자인 단계 1. 데이터베이스 사용자의 관점에서 필요한 데이터들을 구체화하기 2. 디자인 모델 고르기 고른 데이터 모델의 콘셉트 선택 요구사항들을 데이터베이스의 스키마 콘셉트에 맞게 옮기기 3. 논리적 디자인 - 스키마 결정 어떤 속성이 데이터베이스에 기록되어야 하나? 어떤 스키마가 필요하고 어떻게 속성을 다른 스키마와 구별할 수 있을까? 물리적 디자인 - 물리적 배치 결정 * 스키마를 디자인할 때 두 가지를 피해야 한다. Redundancy(중복) : 여러 곳에 반복되어 저장되는 정보들 -> 일관성을 헤침 Incompleteness(불완전성) : 새로운 걸 넣기 어렵거나 불가능. entity: 다른 객체와 구별가능한 존재하는 객체 예) 구체적 사람, 회사 등 entity set: 같은 특징을 공유하는 ..
2024.04.08 -
4. Modern SQL
Aggregates function(집계함수) 위의 4개의 집계함수 모두 같은 결과를 반환한다. - count(1): 조건을 만족하는 행은 1을 반환 -> 1의 개수를 세기 - count(1+1+1): 조건을 만족하는 행은 1+1+1을 반환 -> 3의 개수를 세기 중복된 튜플(행)은 제거하고 싶을 때 문자열 연산(sql 표준) 1. LIKE : 매칭되는 문자열을 찾고 싶을 때 사용 %: 여러 문자(empty도 가능) _: 한 글자(무조건) 2. || : 문자열을 이어 붙히고 싶을 때 사용 output redirection(다시 지시) : 원하는 열들만 모아서 새로운 테이블을 생성 표준 select distinct cid into courseIds from enrolled; MySQL create tabl..
2024.04.02 -
백준 - 1697번 숨바꼭질 (실버 1)
1. 큐에 처음위치를 저장하고, 방문기록 해두기 2. 큐에서 하나씩 빼며 +1,-1,*2 연산하기 경계조건: 0~100,000까지 방문기록: 방문한 곳은 또 방문하지 않도록 하기 -> 이 조건을 안 해두면 무한루프로 실패 3. K와 같다면 방문기록을 출력 후 종료 아니라면 큐에 넣고 방문기록=전꺼 +1 하기 * 처음부터 N과 K가 같을 수도 있음 -> 이 경우 큐에 넣을 필요가 없음. 바로 종료 import java.io.*; import java.util.*; class Main{ public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader( new InputStreamReader(System..
2024.04.02 -
백준 4179번 불 - 골드 4
불과 지훈이를 같이 bfs 돌릴 생각을 했는데 따로 돌려도 되더라. 1. 지훈이는 불의 영향을 받으므로 불부터 bfs 돌리기 불이 이동한 칸에 시간 기입 2. 지훈이 이동한 칸에 시간 기입 단, 같은 시간일 때 불이 이동한 칸에는 이동할 수 없음 -> 불의 이동시간 처음에 다 -1로 초기화하기 때문에 불이 이동하지 않으면 항상 지훈이의 이동시간의 값이 더 큼 이런 경우를 위해 불의 이동시간이 -1이 아니라는 조건 추가해야 함. 여기서 굉장히 애먹음 3. 지훈이가 미로의 범위를 벗어나면 탈출 성공 한 번도 못 벗어나면 IMPOSSIBLE 출력 * 처음에 불의 위치와 지훈이의 위치를 초기화할 때 시간을 0으로 바꿔줘야 함. 이거 놓쳤더니 어디가 잘못됐나 한참 찾음 * 이 문제는 동시에 돌리지 않아도 풀 수 ..
2024.03.29 -
백준 7576번 - 토마토 (골드 5)
해결방법 1. box에 토마토 입력받은 거 넣으면서 visited에 토마토 상태 기록 - 익은 것: 1, 안 익은 것: 0, 없는 것: -1 2. 익은건 큐에 넣기 3. bfs 방법을 사용하여 상하좌우 살피기 -> visited가 0인걸 발견하면 전 좌표의 visited값+1 기록, 큐에 담기 4. visited가 0인 게 있다면 -1 출력 처음부터 다 익었다면 max=1 아니라면 max-1 출력 (처음값이 1이었기 때문에) bfs로 풀기 딱 좋은 문제 : 최소 시간을 구하는 거기 때문에, 상하좌우로 확인해야 하기 때문에 import java.io.*; import java.util.*; class Main{ public static void main(String[] args) throws IOExcep..
2024.03.28