본문 바로가기

분류 전체보기

(297)
LCS www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net #include #include #include #include #include using namespace std; int dp[1001][1001]; int main() { string str; string str2; cin >> str; cin >> str2; int strl = str.size(); int strl2 = str2.size(); memset(dp..
자바와 객체 지향 Chapter3 자바와 객체 지향 3.1 객체 지향은 인간 지향이다. 0과 1로 대변되는 기계에 맞춰 사고하던 방식을 버리고 현실세계를 인지하는 방식으로 프로그램을 만들고자 한게 객체 지향 방식, 따라서 직관적이다. 3.2 객체 지향의 4대 특성 - 캡! 상추다 캡 상추다 캡: 캡슐화 - 정보은닉 상: 상속 - 재사용 추: 추상화 - 모델링 다: 다형성 - 사용 편의 3.3 클래스 vs 객체 = 붕어빵틀 vs 붕어빵 ??? 클래스=붕어빵틀, 객체=붕어빵은 잘못된 개념이다 붕어빵틀이 붕어빵을 찍어내서 클래스라고 한다면 같은 논리로 금형기계는 붕어빵틀을 찍어내는 클래스가 된다. 금형기계 붕어빵틀 = new 금형기계() 이걸 인간적인 말로 해석하면 새로운 금형기계를 하나 만들었더니 붕어빵들이 되었다. 라는 이..
자바와 절차적/구조적 프로그래밍 Chapter2 자바와 절차적/구조적 프로그래밍 2.1 자바프로그래밍의 개발과 구동 JDK, JRE, JVM 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다. JDK : 자바 개발 도구 , 개발자는 JDK를 이용해 프로그램을 개발한다. JRE : 자바 실행 환경, 가상 컴퓨터인 JVM을 제어하는 운영체제 JVM : 자바 가상 기계, 운영체제에 영향을 받지 않고 중재자로서 각 플랫폼에서 프로그램을 구동 프로그램이 메모리를 사용하는 방식 메모리에는 코드 코드 실행 영역, 스태틱 영역, 스택 영역, 힙 영역이 들어있음. 2.2 자바에 존재하는 절차적 /구조적 프로그래밍의 유산 절차적 프로그래밍이란 : goto 를 쓰지 말라는 것 goto를 사용하게 되면 ..
큐빙 www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net #include #include #include #include using namespace std; enum FACE {U,D,F,B,L,R,SIZE}; // 위,아래,앞,뒤,왼,오 char arr[55]; int cube[SIZE][3][3]; char temp[3][3]; char init[7] = "wyrogb"; // 전개도 그리고 시작하기 /* U 0 1 2 3 4 5 6 7 8 L __________..
치킨 배달 www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net #include #include #include #include #include #include using namespace std; int n, m; int arr[51][51]; vectorstore; vectorhouses; int minnum = 1e9 + 1; void checkDistance(int x, int y, vector&check) { for (auto it : hous..
드래곤 커브 www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net #include #include #include #include using namespace std; int n; int dx[] = {0,-1,0,1}; int dy[] = {1,0,-1,0}; // 0,1,2,3 int sqx[] = {0,1,0,1}; int sqy[] = {0,0,1,1}; bool check[101][101]; int ex, ey; vectordragon; b..
정수제곱근 www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include #include using namespace std; int main() { long long sqt; cin >> sqt; long long q = sqrt(sqt); if (q*q == sqt) { cout
수들의 합 www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net #include #include #include #include #include #include using namespace std; int main() { long long s; cin >> s; long long answer = 0; long long i = 1; long long sum = 0; while (sum