daily1313의 등록된 링크

키자드에 등록된 총 182개의 포스트를 확인하실 수 있습니다.

Tistory

메소드의 구분(클래스 메소드, 인스턴스 메소드)

class LoginPage{ boolean success; //인스턴스 변수 void Login(){ success = true; } //인스턴스 메소드 static void classLogin(boolean success){ return success; } //클래스 메소드 } 반환형 앞에 static 키워드가 존재하면 클래스 메소드(static method)라 하며 그렇지 않으면 인스턴스 메소드(instance method)라고 한다. 그렇다면 이 둘의 차이는 무엇일까? 클래스 메소드는 인스턴스(객체)를 생성하지 않고도 바로 접근이 가능하다. System.out.println(LoginPage.classLogin(true)); // 클래스 메소드 LoginPage myLoginPage = new L..

Tistory

DTO, DAO, Repository, Entity 개념

Entity(Domain) 데이터베이스에 쓰일 컬럼 및 여러 엔티티 간의 연관관계 데이터베이스의 테이블을 하나의 엔티티로 생각해도 됨 DB 테이블과 1:1 매핑 Repository Entity에 의해 생성된 DB에 접근하는 메소드를 사용하기 위한 인터페이스 Service와 DB를 연결하는 고리의 역할 DB에 적용하고자 하는 CRUD를 정의하는 영역 DAO(Data Access Object) DB에 접근하는 객체를 의미 Service가 DB에 연결할 수 있게 해주는 역할 DB를 사용하여 데이터를 조회하거나 조작 DTO(Data Transfer Object) DTO는 VO(value Object)이며, 계층간 데이터 교환을 위한 객체를 의미 (Read Only 개념을 담고 있음) Spring Boot의 서비..

Tistory

백준 1012 유기농 배추(c++)

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include #include #define max 51 using namespace std; int mov[4][2] = {{-1,0},{1,0},{0,-1},{0,1}}; int board[max][max]; bool visited[max][max] = {0}; int n,m,x,y; int cnt=0; void dfs(int a,int b) { visited[a][b] = true; f..

Tistory

SpringBoot JPA(Java Persistence API) 사용 목적

유지, 보수와 효율성 증대 JPA를 사용하지 않고, SQL문으로 테이블을 생성한다면 일일히 CRUD를 작성해주어야 한다. 하지만, JPA를 사용한다면 일일히 CRUD문을 작성하지 않고 JPA에게 저장할 객체로 전달해주면 된다. 테이블 간에 연관관계를 정의하기 위해 사용 ex) entity가 2개일 때, 작성자 entity ↔ 게시글 entity간의 연관관계를 정의하기 위해서는 1 : 1(OnetoOne,일대일), 1 : n(OnetoMany,일대다), n: 1(ManytoOne,다대일)이 있다. 작성자 한 명은 여러 개의 게시글을 사용할 수 있으므로, 작성자 입장에서는 1 : n(일대다,OnetoMany) 관계지만, 게시글 입장에서는 다대일(ManytoOne)관계이다(여러 개의 게시글들을 한 명이 쓸 수..

Tistory

백준 7562 나이트의 이동(c++)

https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net #include #include #include #define max 301 using namespace std; queueq; int board[max][max]; bool visited[max][max]; int mov [8][2] = {{2,1},{1,2},{-2,1},{-1,2},{-2,-1},{-1,-2},{1,-2},{2,-1}}; // 말의 이동 int main() { int t; ci..

Tistory

백준 2170 선 긋기(c++)

https://www.acmicpc.net/problem/2170 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y(-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다. www.acmicpc.net #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int x,y; int n; cin>>n; vectorv; for(int i=0;i>x>>y; v.push_back(mak..

Tistory

백준 2178 미로 탐색(c++)

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include #include #include #define max 101 using namespace std; queueq; int dir[4][2] = {{-1,0},{1,0},{0,-1},{0,1}}; int board[max][max]; int n,m; string s; void bfs(int x,int y){ bool visited[max][max] = {false}; visited[x][y]=true..

Tistory

백준 2606 바이러스(c++)

https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net bfs #include #include #include #include #define max 101 using namespace std; int n, com; int cnt=0; int graph[max][max]; void bfs(int node){ bool visited[max]= {false}; queuemyqueue; visited[node]=true; myqueue.push(node); whi..

Tistory

백준 11724 연결 요소의 개수(c++)

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 이 문제는 dfs, bfs의 기본 문제이다. #include #include #include #include #include #define max 1001 int board[max][max]; bool visited[max] = {0}; int cnt=0; int n,m; using namespace std; //void dfs(int..

Tistory

백준 4963 섬의 개수(c++)

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net #include #include #include #define max 51 using namespace std; int w,h,n,m; int board[max][max]; bool visited[max][max] = {0}; int dir[8][2] = {{-1,0},{1,0},{0,-1},{0,1},{1,1},{-1,-1},{1,-1},{-1,1}}; //상하좌우 대각선 이동 void d..

Tistory

재귀(recursion) 개념정리

재귀 함수 자기 자신을 호출하는 함수 Base Case : 간단히 결과를 반환하는 부분 Recursive Case : 자기 자신을 호출하는 부분 factorial - n==0 n! =1 // Base Case n>0 n! = n * (n-1)! // Recursive case 재귀를 활용한 flood fill 알고리즘 #include using namespace std; int n, Board[100][100]; void fill(int r,int c) { if(rn-1 || c n-1) return; //경계면을 벗어나면 return if(Board[r][c]) return; //벽이 있으면 return Board[r][c] = 1; fill(r-1,c);//위 fill(r+1,c);//아래 fill(..

Tistory

백준 2293 동전 2(c++)

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include using namespace std; int main() { int n,k; cin>>n>>k; vectorv(n); vectordp(k+1); for(int i=0;i>v[i]; } dp[0]=1; for(int i=0;i

Tistory

백준 2294 동전 2(c++)

https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net #include #include #include using namespace std; int main() { int n,k; cin>>n>>k; vectorv(n); vectordp(k+1); dp[0]=0; for(int i=1;iv[i]; } sort(v.begin(),v.end(),greater()); for(int i=0;i

Tistory

DFS

DFS(Depth First Search) 그래프 순회 방법 중 하나(깊이 우선 탐색) 시작 노드에서 깊이가 커지는 방향으로 탐색을 진행하여 더 이상 방문할 인접 노드가 없는 경우 이전 노드가 돌아가서, 다시 깊이 우선 탐색을 반복하게 됨. 재귀 호출을 통해 구현 1. 입력 5(노드의 개수) 6(간선의 개수) 노드의 쌍 0 1 0 2 1 3 1 4 2 4 3 4 (각 쌍들 사이에 간선이 존재) 출력 0 1 3 4 2 #include #include using namespace std; #define max 10 int n, e; int graph[max][max]; bool visited[max]; void dfs(int node) { visited[node] = true; coutu>>v; graph[..

Tistory

백준 2667 단지번호붙이기(c++)

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net (스택 쓰지 않고 풀기) #include #include #include #include using namespace std; int mov[4][2] = {{-1,0},{1,0},{0,1},{0,-1}}; bool check[26][26]; int Board[26][26]; vectorrooms; int cnt=0; int n; string s; void dfs(int x,int y) { for(..

Tistory

BFS

BFS(Breadth First Search) 그래프 순회 방법 중 하나(너비 우선 탐색) 시작 노드에서 인접노드를 방문하고, 방문한 노드에서 인접 노드를 모두 방문하는 것을 반복한다. Queue(큐)를 이용한 BFS 풀이 입력 5(노드의 수) 6(간선의 수) 0 1 0 2 1 3 1 4 2 4 3 4 (간선이 존재하는 노드의 쌍 입력) 출력 0 1 2 3 4 #include #include #include #include using namespace std; #define max 10 int n, e; int graph[max][max]; void bfs(int node){ bool visited[max]= {false}; queuemyqueue; visited[node]=true; myqueue.pu..

Tistory

프로그래머스 같은 숫자는 싫어(c++)

https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; vector solution(vector arr) { vector answer; arr.erase(unique(arr.begin(),arr.end()),arr.end()); for(int i=0;i

Tistory

프로그래머스 비밀지도(c++)

https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; vector solution(int n, vector arr1, vector arr2) { vector answer; for(int i=0;i

Tistory

예외처리(Exception)기능 + Response 기능(데이터 반환) 을 추가한 게시판 만들기 코드

Response package com.example.mentoring.Response; import com.fasterxml.jackson.annotation.JsonInclude; import com.sun.net.httpserver.Authenticator; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; @JsonInclude(JsonInclude.Include.NON_NULL)// Null 버림 @AllArgsConstructor(access = AccessLevel.PRIVATE) @Getter public class Response { private boolean success; private ..

Tistory

백준 1958 LCS 3(c++)

https://www.acmicpc.net/problem/1958 1958번: LCS 3 첫 줄에는 첫 번째 문자열이, 둘째 줄에는 두 번째 문자열이, 셋째 줄에는 세 번째 문자열이 주어진다. 각 문자열은 알파벳 소문자로 이루어져 있고, 길이는 100보다 작거나 같다. www.acmicpc.net #include #include #include #include using namespace std; int main() { vectordp(101,vector(101,vector(101,0))); string s1,s2,s3; cin>>s1>>s2>>s3; for(int i=1;i

Tistory

스프링 스터디(RestAPI의 다양한 기능 추가(Exception, Response..)

4주차 Custom Respose 만들기 (기존 포스트맨 결과와 비교) 예외처리 사용 및 필요성 Exception 작성 Advice 생성 및 사용 README.md 파일 만들기 Response을 커스텀해서 사용하는 이유는 ResponseEntity 클래스를 통해 리턴을 해주면 데이터의 형식을 수정할 수가 없게 된다. 즉 형식을 유동적으로 수정해주기 위해 Response를 사용한다. ResponseEntity로 데이터를 반환할 경우 Response로 데이터를 반환할 경우 Response로 데이터를 반환했을 때, ResponseEntity로 데이터를 반환했을 때 보다 더욱 다양한 틀에 감싸져 있음을 확인할 수 있다. 이렇게 사용하는게 더욱 편리한 이유는 프론트엔드 개발자의 편의를 위함과 더불어, 데이터의 형..

Tistory

프로그래머스 로또의 최고 순위와 최저 순위(c++)

https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; vector solution(vector lottos, vector win_nums) { vector answer; sort(lottos.begin(),lottos.end()); sort(win_nums.begin(),win_nums.end()); int cnt=7; int cnt2=7; for(int i=0;i..

Tistory

프로그래머스 김서방은 x에 있다(c++)

https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; string solution(vector seoul) { string answer = ""; answer+="김서방은 "; int cnt=0; for(int i=0;i

Tistory

프로그래머스 체육복(c++)

https://school.programmers.co.kr/learn/courses/30/lessons/42862# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { vector::iterator iter; for(int i=0;i

Tistory

백준 1781 컵라면(c++)

https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net #include #include #include #include #include #include using namespace std; int main() { int n; cin>>n; vectorv; priority_queuepq; for(int i=0;i>a>>b; v.push_back(make_pair(a,b)); } sort(v.begin(),v.end()); long long sum = 0; for..

Tistory

접근제어자 + 제어자 개념

접근 제어자 : 클래스의 접근 범위를 제한하기 위한 제어자이다. public : 접근제한 x protected : 같은 패키지 + 다른 패키지의 자식 클래스에서 접근 o default : 같은 패키지 내에서만 접근 o(자료형 앞에 아무 것도 쓰지 않았을 때) private : 같은 클래스에서만 접근 o 허용 범위 : public > protected > default > private 접근 제어자 같은 클래스 같은 패키지 자식 클래스 그 외 public o o o o protected o o o x default o o x x private o x x x 기타 제어자 final : 변경할 수 없는 상수(constant)를 의미한다. (c,c++ 관점에서 바라볼 때 const와 같은 의미이다) final을..

Tistory

백준 1339 단어 수학(c++)

https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { string s; int n; cin>>n; vectoralpha(26); for(int i=0;i>s; for(int j=0;j

Tistory

백준 9251 LCS(c++)

https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); vectorv(1001,vector(1001,0)); string s1,s2; cin>>s1>>s2; for(in..

Tistory

백준 5582 공통 부분 문자열(c++)

https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net #include #include #include #include using namespace std; int main() { string s1,s2; cin>>s1>>s2; vectordp(4001,vector(4001,0)); int result = 0; for(int i=1;i

Tistory

백준 19598 최소 회의실(c++)

https://www.acmicpc.net/problem/19598 19598번: 최소 회의실 개수 2개 회의실로 3개 회의를 모두 진행할 수 있다. 예를 들어, 첫번째 회의실에서 첫번째 회의를 진행하고 두번째 회의실에서 두번째 회의와 세번째 회의를 진행하면 된다. 1개 회의실로 3개 회의 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n; cin>>n; priority_queuepq; priority_queueresult; for(int i=0;i>s>>e; pq.push(make_pair(s,e)); } result.push(pq.top().second); pq.pop()..

Tistory

1202 보석 도둑(c++)

https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n,k; cin>>n>>k; vectorv; vectorc; priority_queuepq; for(int i=0;i>a>>b; v.push_back(make_pair(a,b)); } sor..

Tistory

스프링 스터디(3주차) CRUD 게시판 만들기 + Postman 사용

스프링에서 CRUD 게시판을 만들기 위해 만들어줬던 4가지 1.Entity(개체, DB의 관점에서는 테이블로 바라볼 수 있음) -> 가장 먼저 만듦 기본 어노테이션 @Data @AllArgsConstructor @NoArgsConstructor @Entity =>이것 네 개는 필수적으로 깔고 코드 작성 해야함. 2.BoardRepository=>Repository를 통해 , DB와 스프링 서버를 연동시켜준다. =>코드가 간결하기에 두 번째로 만들어준다. 다른 파일들은 전부 class이지만, BoardRepository는 interface를 통해 상속(extends)받아야 한다. 3. => Controller, Service Controller는 요청을 담당하고, Service는 기능 구현을 담당한다. C..

Tistory

1049 기타줄(c++)

https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net #include #include #include #include using namespace std; bool cmp(pairp1,pairp2) { return p1.firstn>>m; vectorv; for(int i=0;i>p>>a; v.push_back(make_pair(p,a)); } int ans1 = 0; int ans2 = 0; int cnt=0; // 끊어진 기타줄 수가 6개보다..

Tistory

백준 1049 기타줄(c++)

https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net #include #include #include #include using namespace std; bool cmp(pairp1,pairp2) { return p1.firstn>>m; vectorv; for(int i=0;i>p>>a; v.push_back(make_pair(p,a)); } int ans1 = 0; int ans2 = 0; int cnt=0; // 끊어진 기타줄 수가 6개보다..

Tistory

백준 1015 수열 정렬(c++)

https://www.acmicpc.net/problem/1015 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n; cin>>n; vectorv; for(int i=0;i>a; v.push_back(make_pair(a,0)); } for(int i=0;ii && v[j].first==v[i].first) ..

Tistory

백준 2776 암기왕(c++)

https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net #include #include #include using namespace std; int main() { vectorv1; vectorv2; int t; cin>>t; while(t--) { int n; cin>>n; for(int i=0;i>a; v1.push_back(a); } int m; cin>>m; for(int i=0;i>b; v2.push_back(b); } sort(v1.begin()..

Tistory

백준 2805 나무 자르기(c++)

https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n,m; cin>>n>>m; vectortree; for(int i=0;i>a; tree.push_back(a); } int l = 0; int r = *max_element(tree.begin(),tree.end()); int..

Tistory

백준 13975 파일 합치기 3(c++)

https://www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net #include #include #include #include using namespace std; int main() { priority_queuepq; int t; cin>>t; int n; while(t--) { long long sum =0; cin>>n; for(int i=0;i>a; pq.push(a); } while(pq.size()>1) { long long n1 = pq.to..

Tistory

스프링 스터디(2주차) + 내용 정리

2️주차 배운 내용 스프링에서 데이터베이스를 다루는 방법 DB, Domain, Repository, Service, Controller yml 파일 과 properties 파일의 차이점 컴퓨터끼리의 통신 언어(XML, JSON의 구조) GET, POST, PUT, DELETE 요청 MVC 패턴을 이용한 CRUD 게시판 생성 #1 properties 와 yml 파일 구조 및 장단점 #Application.properties Spring-datasource-url = "" Spring-datasource-username = "" Spirng-datasource-password="" #Application.yml server : 8080 Spring Datasource : url: jdbc:mysql://l..

Tistory

18870 좌표 압축(c++)

https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin>>n; vectorv; vectorv2; for(int i=0;i>num; v.push_back(num); v2.pu..

Tistory

백준 16916 부분 문자열(c++)

https://www.acmicpc.net/problem/16916 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net #include #include #include #include using namespace std; int main() { string s,p; cin>>s>>p; if(s.find(p)!=string::npos) cout

Tistory

백준 1758 알바생(c++)

https://www.acmicpc.net/problem/1758 #include #include #include #include using namespace std; int main() { int n; cin>>n; vectorv; for(int i=0;i>a; v.push_back(a); } sort(v.begin(),v.end(),greater()); long long sum = 0; for(int i=0;i

Tistory

백준 4889 안정적인 문자열(c++)

https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { string s; stackst; int start=1; while(cin>>s) { int cnt=0; if(s[0]=='-') break; for(int i=0;i

Tistory

백준 1374 강의실(c++)

https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net #include #include #include #include using namespace std; priority_queuelectures; priority_queuerooms; int main() { int n; cin>>n; int number, starttime,endtime; for(int i=0;i>number>>starttime>>endtime; lectures.pus..

Tistory

백준 11478 서로 다른 부분 문자열의 개수(c++)

https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net #include #include #include #include #include #include using namespace std; int main() { string str; sets; vectorv; cin>>str; for(int i=0;i

Tistory

백준 13164 행복 유치원(c++)

https://www.acmicpc.net/problem/13164 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net #include #include #include using namespace std; int main() { int n,k; cin>>n>>k; vectorv; for(int i=0;i>a; v.push_back(a); } vectorcost; for(int i=1;i

Tistory

백준 15353 큰 수 A+B(c++)

https://www.acmicpc.net/problem/15353 15353번: 큰 수 A+B (2) C++17, C11, C99, C++98, C++11, C++14, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net #include #include #include #include #include using namespace std; int main() { string a,b; cin>>a>>b; dequev1; dequev2; vectorans; vector::iterator it; for(int i=0;iv2.size()) { for(int i=0;i

Tistory

백준 20291 파일 정리(c++)

https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; cin>>n; string str; mapm; while(n--) { cin>>str; string ans=""; for(int i=0;i

Tistory

백준 5635 생일(c++)

https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include #include #include using namespace std; bool cmp(tuple&v1,tuple&v2) { if(get(v1)==get(v2)) { if(get(v1)==get(v2)) return get(v1)>get(v2); else return get(v1)>get(v2); } else return get(v1)>get(v2); } int main() { int n; cin>>n; vecto..

Tistory

백준 11656 접미사 배열(c++)

https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net #include #include #include #include using namespace std; int main() { string str; vectorv; cin>>str; for(int i=0;i

Tistory

백준 1431 시리얼 번호(c++)

https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net #include #include #include #include #include #include using namespace std; bool cmp(string s1,string s2) { int sums1 = 0; int sums2 = 0; if(s1.size()==s2.size()) { for(int i=0;i='0' && s1[i]='0' && s2[i]

Tistory

백준 1120 문자열(c++)

https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); string a,b; cin>>a>>b; int cnt=0; if(a.size()==b.size()) { for(int i=0;i

Tistory

패키지(package) 개념

패키지란? 클래스 + 인터페이스의 집합이다. 하나의 디렉터리를 의미 장점: 1. 파일관리의 효율성이 증대 2. 이름 충돌 문제 해결 패키지는 다른 패키지를 포함할 있다. ex)java.lang.String 패키지의 선언 문법 package 패키지이름; import문의 사용 선언한 패키지에 속한 클래스를 다른 파일에서 사용하기 위함이 목적이다. 문법 import 패키지이름.클래스이름 import 패키지이름.* 자바에서 가장 많이 사용하는 java.lang 패키지에 대해서는 import를 사용하지 않아도 사용할 수 있게 되어있다.

Tistory

백준 1212 8진수 2진수(c++)

https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net #include #include #include using namespace std; string eight[8] = {"000","001","010","011","100","101","110","111"}; int main(){ string s; cin >> s; if(s=="0") cout

Tistory

백준 10814 나이순 정렬(c++)

https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net #include #include #include #include #include #include using namespace std; bool com(tuple&v1,tuple&v2) { if(get(v1)==get(v2)){ return get(v1)n; for(int i=0;i>num>>str; v.push_back(make_tuple(num,str,i)); } sort(v.begin(),v.end..

Tistory

백준 10867 중복 빼고 정렬하기(c++)

https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; sets; set::iterator it; int main() { int n; cin>>n; for(int i=0;i>num; s.insert(num); } for(auto it = s.begin();it!=s.end();it++) { cout

Tistory

백준 2075 N번째 큰 수

https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; int main() { int n; cin>>n; priority_queuepq; for(int i=0;inum; pq.push(num); } } int cnt=1; for(int i=0;i

Tistory

백준 10989 수 정렬하기 3(c++)

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin>>n; vectorcount(10001); for(int i=0;i>num; count[num-1]++; } for(int i=0;i

Tistory

this와 this()

this 참조 변수 this 참조 변수는 인스턴스가 자기 자신을 참조하는 변수이다. this 참조 변수는 해당 인스턴스의 주소를 가리키고 있다. class Car { private String modelName; private int modelYear; private String color; private int maxSpeed; private int currentSpeed; Car(String modelName, int modelYear, String color, int maxSpeed) { this.modelName = modelName; this.modelYear = modelYear; this.color = color; this.maxSpeed = maxSpeed; this.currentSpeed..

Tistory

메소드 오버로딩

메소드 오버로딩(method overloading)이란 같은 이름의 메소드를 중복하여 정의하는 것을 의미한다. 메소드 오버로딩의 장점: 1. 메소드에 사용되는 이름 절약 2. 매개변수 타입이나 개수 고려 x 3. 다형성 구현 메소드 원형 1. println() 2. println(boolean x) 3. println(char x) 4. println(char[] x) 5. println(double x) 6. println(float x) 7. println(int x) 8. println(long x) 9. println(Object x) 10. println(String x) 메소드 오버로딩의 조건 1.메소드의 이름이 같아야 한다. 2.메소드의 시그니처, 즉 매개변수의 개수 또는 타입이 달라야 한다..

Tistory

백준 5525 IOIOI(c++)

https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net #include #include #include using namespace std; int main() { int n,m; string ans=""; cin>>n; int cnt=0; vectorv; for(int i=0;i>m; for(int i=0;i>c; v.push_back(c); } for(int i=0;i

Tistory

백준 14425 문자열 집합(c++)

https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int n,m; cin>>n>>m; vectorv1; vectorv2; string a,b; while(n--) { cin>>a; v1.push_back(a); } sort(v1.begin(),v1.end()); int cnt..

Tistory

백준 1373 2진수 8진수(c++)

https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net #include #include #include #include using namespace std; int main() { string s; cin>>s; int n = s.size(); if(n%3==1) cout

Tistory

백준 1764 듣보잡(c++)

https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net #include #include #include #include using namespace std; int main() { int n,m; cin>>n>>m; string str1,str2; vectors1; vectors2; vectorresult; vector::iterator iter; for(int i=0;i>str1; s1.push_back(str1); } for(int i=0;i>s..

Tistory

클래스 선언

접근제어자 class 클래스이름{ 접근제어자 필드1의 타입 필드1의 이름; 접근제어자 필드2의 타입 필드2의 이름; 접근제어자 메소드1의 원형 접근제어자 메소드2의 원형 } 인스턴스의 생성: 1. 참조변수 선언: 클래스이름 객체참조변수이름; ex)Car myCar; 2. 인스턴스 생성: 클래스이름 객체참조변수이름 = new 클래스이름(); ex) Car myCar = new Car(); 참고자료 출처 http://www.tcpschool.com/java/java_class_declaration 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com

Tistory

메소드 개념

클래스의 멤버는 필드(field)와 메소드(method)로 구성되어있다. 메소드(method): 특정 작업을 수행하기 위한 명령문의 집합이다.(함수로 생각하면 편리) 메소드의 사용목적 : 1. 코드의 중복성 해소 2. 모듈화로 인한 가독성 증대 3. 유지, 보수가 편리하다. 메소드 정의 접근제어자 반환타입 메소드이름(매개변수목록,parameters)//선언부{ //구현부 } Car의 클래스 accelerate() 메소드 정의 class Car { private int currentSpeed; private int accelerationTime; ... ① public void accelerate(int speed, int second) { // 선언부 // 구현부 System.out.println(sec..

Tistory

생성자 개념

생성자(constructor) 자바에서는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 생성자(constructor)라는 메소드를 제공한다. 생성자 이름 = 클래스 이름 Car 클래스의 생성자 이름 => Car 생성자의 특징 1.생성자는 반환값이 없지만, 반환타입을 void형으로 선언하지 않는다. 2.생성자는 초기화를 위한 데이터를 인수로 받을 수 있다. 3.객체를 초기화하는 방법이 여러개 있을 때는 하나의 클래스가 여러개의 생성자를 가질 수 있다.(매개변수가 여러 개 일때),메소드 오버로딩이 가능하다. ex) Car(String modelName) {} Car(String modelName, int modelYear) {} Car(String modelName, int model..

Tistory

spring boot 프로젝트 생성 및 mysql 스프링부트 연동

1. Type :Gradle JDK : 16 Java : 11 Packaging : Jar로 설정 2. 스프링부트의 종속성 추가(기능 추가) Spring Web Spring Data JPA MySQL Driver Lombok 4가지를 추가해준다. 3. Mysql 스키마 생성 Connection name 입력 및 Password 지정 password는 Store in Vault를 입력해 저장 4. Mysql & Spring boot 연동하기 src - main - resources로 들어가서 application.yml 이라는 새로운 파일을 생성한다. 생성한 후 다음 코드를 복사/붙여넣기 해서 작성해준다. server: port: 8080 spring: datasource: url: jdbc:mysql:/..

Tistory

프로그래머스 소수 찾기(c++)

https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr #include #include #include using namespace std; int solution(int n) { int answer = 0; vectorcheck(n,0); for(int i=2;i

Tistory

스프링부트 기본구조 및 JPA

1️.Domain(Entity) -Mysql 테이블과 매핑되는 클래스이다. -테이블 정보를 가공할 때 필요하다. -JPA 사용시 여러 어노테이션을 사용하며, 테이블, 필드, 필드 옵션 등을 설정한다. 2️.Repository(데이터베이스에서 데이터를 넣고 빼는것을 담당) -repository는 DB와 스프링서버를 연결시켜줄 수 있다. -스프링 서버가 데이터가 필요한 경우 Repository(JPA) 통해 데이터베이스의 데이터를 가져온다. 3️Service(기능 구현 담당) -기능 구현을 하기 위한 클래스 -Repository한테 데이터를 받아온 후, 기능을 구현해서 Controller에게 리턴해준다. -데이터는 Repository(JPA)에 있던 데이터이다. 4️Controller(요청 담당) -..

Tistory

백준 1251 단어 나누기

https://www.acmicpc.net/problem/1251 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net #include #include #include using namespace std; int main() { string str; string ans = ""; cin>>str; for(int i=1;i

Tistory

백준 1357 뒤집힌 덧셈

https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net #include #include #include using namespace std; int main() { string x,y; cin>>x>>y; reverse(x.begin(),x.end()); reverse(y.begin(),y.end()); string ans; int a=stoi(x); int b=stoi(y); int c= a+b; an..

Tistory

백준 18310 안테나

https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net #include #include #include #include #include using namespace std; bool com(pair a, pair b) { if(a.second==b.second){ return a.first < b.first; } return a.second < b.second; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL);..

Tistory

백준 1449 수리공 항승

https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net #include #include #include using namespace std; int main() { int n,l; int cnt=1; cin>>n>>l; int *list = new int[n]; for(int i=0;i>list[i]; } sort(list,list+n); int start = list[0]; for(int i=1;il) //좌우 0.5 간격이기 때문에..

Tistory

프로그래머스 직사각형 별찍기(c++)

https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수 programmers.co.kr #include using namespace std; int main(void) { int a; int b; cin >> a >> b; for(int i=0;i

Tistory

프로그래머스 x만큼 간격이 있는 n개의 숫자(c++)

https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr #include #include using namespace std; vector solution(int x, int n) { vector answer; for(int i=0;i (x+x*i) = 2,4,6,8,10이 된다.

Tistory

백준 19941 햄버거 분배

https://www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사 www.acmicpc.net #include #include using namespace std; int main() { int n,k; int cnt=0; vectorv; cin>>n>>k; string str; cin>>str; for(int i=0;i

Tistory

Java 클래스 개념

1.클래스의 개념 자바는 객체지향(object-oriented) 프로그래밍이다. 객체란 실생활에서 우리가 인식할 수 있는 사물이다. 객체의 상태와 행동을 구체화하는 프로그래밍을 객체 지향 프로그래밍이라고 한다. 클래스 객체를 정의하는 틀 또는 설계도를 의미하며, 클래스를 가지고 여러 객체를 생성하여 사용하게 된다. 필드 객체의 상태를 나타냄 , 클래스에 포함된 변수(variable) ex)car.modelname="람보르기니",car.modelYear = 2016 메소드 객체의 행동을 나타냄, 어떠한 특정 작업을 수행하기 위한 명령문이다.=함수 ex)car.accelerate(), car.brake() 인스턴스 메모리에 할당된 객체를 의미한다. -내 차(myCar) : 설계도에 의해 생산된 차량, 친구 ..

Tistory

백준 9009 피보나치

https://www.acmicpc.net/problem/9009 9009번: 피보나치 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 수를 나타내는 정수 T 가 주어진다. 각 테스트 데이터에는 하나의 정수 n www.acmicpc.net #include #include #include using namespace std; int main() { int t; int dp[46]; dp[0]=0; dp[1]=1; for(int i=2;i>t; for(int i=0;i>n; for(int j=45; j>=1; j--){ if(dp[j]

Tistory

백준 2012 등수매기기

https://www.acmicpc.net/problem/2012 2012번: 등수 매기기 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다. www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; cin>>n; vectorv; unsigned long long sum=0; for(int i=0;i>a; v.push_back(a); } sort(v.begin(),v.end()); for(int i=0;i

Tistory

백준 2812 크게 만들기

https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include using namespace std; bool check; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, k; cin>>n>>k; vectorv; //기존 입력 값 숫자 vectorv2;//변경된 결과 값 숫자 string num; cin>>num; for(int i=0;i

1 2