분류 전체보기
-
객체지향프로그래밍학교 수업/객체지향프로그래밍 2020. 4. 16. 13:59
객체지향프로그래밍(Object - Oriented Programming, OOP)개념 : 처리하고자 하는 자료에 중점을 두고 프로그램을 객체라는 것으로 모델화하는 프로그래밍.장점① 소프트웨어의 확장성 향상② 재사용성 향상③ 프로그래머의 생산성 향상④ 유지보수 비용 절감 Class 클래스 ? - 객체를 만들어 내기 위해 정의된 설계도, 틀- 클래스는 개체가 아님- 멤버 변수와 멤버 함수 선언- 같은 종류의 집단에 속하는 속성과 행위를 정의한 것 - 클래스의 생성자 함수 : 객체가 선언될 때마다 자동적으로 호출클래스와 같은 이름을 사용반환 값은 없고, 파라미터는 가질 수 있다클래스 내의 자료를 초기화생성자 함수는 중복이 가능(오버로딩 가능)정의하지 않으면 컴파일러에 의해 디폴트 생성자 만들어짐- 클래스의 소..
-
[백준] 5373번 큐빙문제 풀이 2020. 4. 15. 22:39
5373 큐빙 문제루빅스 큐브는 삼차원 퍼즐이다. 보통 루빅스 큐브는 3×3×3개의 작은 정육면체로 이루어져 있다. 퍼즐을 풀려면 각 면에 있는 아홉 개의 작은 정육면체의 색이 동일해야 한다.큐브는 각 면을 양방향으로 90도 만큼 돌릴 수 있도록 만들어져 있다. 회전이 마친 이후에는, 다른 면을 돌릴 수 있다. 이렇게 큐브의 서로 다른 면을 돌리다 보면, 색을 섞을 수 있다.이 문제에서는 루빅스 큐브가 모두 풀린 상태에서 시작한다. 윗 면은 흰색, 아랫 면은 노란색, 앞 면은 빨간색, 뒷 면은 오렌지색, 왼쪽 면은 초록색, 오른쪽 면은 파란색이다.루빅스 큐브를 돌린 방법이 순서대로 주어진다. 이때, 모두 돌린 다음에 가장 윗 면의 색상을 구하는 프로그램을 작성하시오.위의 그림은 루빅스 큐브를 푼 그림이다..
-
contents학교 수업/객체지향프로그래밍 2020. 4. 15. 20:29
과거 배웠던, 객체지향프로그래밍1.2의 내용을 요약해봤다. 객체지향프로그래밍 1. 기본 데이터 자료형 자료형크기범위문자형char1Byte, 8bit-128 ~ 127 unsigned char0 ~ 255 정수형 short2Byte, 16bit-32,768 ~ 32,767unsigned short0 ~ 65,535int4Byte, 32bit-2,147,483,648 ~ 2,147,483,647unsigned int0 ~ 4,294,967,295long long8Byte, 64bit-9,223,372,036,854,775,808 ~9,223,372,036,854,775,807unsigned long long0 ~ 18,446,744,073,709,551,615논리형 bool1Byte, 8bitTrue or ..
-
[백준] 17143번 낚시왕문제 풀이 2020. 4. 14. 21:45
17143 낚시왕 문제낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다.낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하면 이동을 멈춘다.1. 낚시왕이 오른쪽으로 한 칸 이동한다.2. 낚시왕이 있는 열에 있는 상어 중에서 땅과 제일 가까운 상어를 잡는다. 상어를 잡으면 격자판에서 잡은 상어가 사라진다.3.상어가 이동한다.상어는 입력으로 주어진 속도로 이..
-
[백준] 17142번 연구소 3문제 풀이 2020. 4. 12. 16:52
17142 연구소 3 문제인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, 활성 상태인 바이러스는 상하좌우로 인접한 모든 빈 칸으로 동시에 복제되며, 1초가 걸린다. 승원이는 연구소의 바이러스 M개를 활성 상태로 변경하려고 한다.연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽, 바이러스로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 활성 바이러스가 비활성 바이러스가 있는 칸으로 가면 비활성 바이러스가 활성으로 변한다.0은 빈 칸, 1은 벽, 2는 바이러스의 위치이다.연구소의 상태가 주..
-
[백준] 2217번 로프문제 풀이 2020. 4. 12. 16:29
2217 로프 문제N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다.하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다.각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 입력첫째 줄에 정수 N이 주어진다. 다음 N개의 줄에는 각 로프가 버틸 수..
-
[백준] 13904번 과제문제 풀이 2020. 4. 11. 16:32
13904 과제 문제웅찬이는 과제가 많다. 하루에 한 과제를 끝낼 수 있는데, 과제마다 마감일이 있으므로 모든 과제를 끝내지 못할 수도 있다. 과제마다 끝냈을 때 얻을 수 있는 점수가 있는데, 마감일이 지난 과제는 점수를 받을 수 없다.웅찬이는 가장 점수를 많이 받을 수 있도록 과제를 수행하고 싶다. 웅찬이를 도와 얻을 수 있는 점수의 최댓값을 구하시오. 입력첫 줄에 정수 N (1 ≤ N ≤ 1,000)이 주어진다.다음 줄부터 N개의 줄에는 각각 두 정수 d (1 ≤ d ≤ 1,000)와 w (1 ≤ w ≤ 100)가 주어진다. d는 과제 마감일까지 남은 일수를 의미하며, w는 과제의 점수를 의미한다. 출력얻을 수 있는 점수의 최댓값을 출력한다. 풀이)greedy 문제이다. 생각한 과정은 이러하다.가장 ..
-
[백준] 1395번 스위치문제 풀이 2020. 4. 11. 00:06
1395 스위치 문제준규네 집에는 총 N개의 스위치가 있고 이를 편하게 1번부터 N번까지 차례대로 번호를 매겼다. 그리고 준규의 취미는 이 스위치들을 켜고 끄는 것이다.준규가 하는 스위치를 갖고 노는 일은 크게 두 가지이다. 하나는 A번부터 B번 사이의 스위치 상태를 반전시키는 것이고 다른 하나는 C번부터 D번 사이의 스위치 중 켜져 있는 상태의 스위치의 개수를 세는 것이다.하지만 준규가 싫증을 느껴 우리가 이 귀찮은 일을 떠맡게 되었고 프로그래밍을 통해 일을 처리하도록 결정하였다. 입력첫 줄에는 스위치의 개수 N(2 ≤ N ≤ 100,000)과 처리할 일의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에 대해 각 줄에 처리할 일에 대한 정보가 담겨진 세 개의 정수 O, Si, Ti..