일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로젝트
- React
- 팀프로젝트
- 취준생
- MVC
- ps
- 디자인패턴
- jdk11
- 자취
- spring boot
- gradle
- spring
- Project
- IntelliJ
- 입출력
- SpringBoot
- MariaDB
- javascript
- AWS
- JPA
- coding test
- JDK
- 스프링
- 코딩테스트
- 공유DB
- Java
- 코테
- 자바
- Controller
- 백준
- Today
- Total
목록분류 전체보기 (78)
Tech Collection
2522번: 별 찍기 - 12 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제분석 1. 2중 for문으로 출력하기 : 공백 출력 for문, 별 출력 for문 -> 한 줄에 3번의 for문 수행 2. String 입력을 통해 단순반복 입력 가능 : new String(new char[반복할 숫자]).replace('\u0000', '출력할 문자'); - new String을 통해 새로운 String만들고 - new char[]를 통해 문자 배열을 문자열로 넣어주기 - 그 문자 배열의 크기는 반복할 숫자이고, 안에 들어있는 내용은 char의 null값인 \u0000 일 것이다. - replace를 통해 우리가 출력하고자하는 공백이나 별로 \u0000을 바꿔준다. ..
OOP? 객체지향 프로그래밍 - Object Oriented Programming - 실제 세계를 표방함, 데이터와 절차를 하나의 덩어리로 처리하는 기법 - Java, Python, C++ - 절차지향 언어보다 속도 느림 OOP의 5가지 설계 원칙 1. 재사용성 높음 2. 코드 변경 용이 3. 직관적인 코드 분석 4. 개발 속도 향상 5. 상속을 통한 장점 극대화 OOP 특징 1. 추상화 : 객체가 가진 공통 속성이나 기능을 묶어 명시적인 이름을 부여 2. 캡슐화 : 관련된 데이터와 코드를 하나로 묶은 것으로 데이터를 감추고 외부와의 상호 작용은 메소드를 통함 3. 상속 : 이미 작성된 클래스를 이어받아서 새로운 클래스를 생성, 기존 코드 재활용 4. 다형성 : 같은 코드로 다른 행위 - Overridi..
완전탐색 : 모든 경우의 수를 다 따져보고 찾음 : brute force 재귀함수 : 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그 중 한 조각 수행하고 나머지를 자기 자신 호출 후 수행 기저사례 : 쪼개지지 않는 가장 작은 작업들 * 입력이 잘못되거나 범위에서 벗어난 경우도 기저사례로 택하기 분할정복 : 각개격파 : 주어진 문제를 둘 이상의 부분 문제의 답으로 나눈 뒤 각 문제에 대한 답을 재귀 호출을 이용해 계산함, 각 부분 문제의 답으로부터 전체 문제의 답을 계산 : 반복할수록 기저사례에 도달하기까지 걸리는 분할횟수가 줄어들기 때문에 가능한 한 절반에 가깝게 문제를 나누고자 한다. 효율 저하: 부분문제가 중복된다 (여러번 중복되어 계산되면서 시간을 소모하는 부분 문제 존재) -> 동..
알고리즘? : 주어진 문제를 해결하는 한 가지 방법을 명료하게 써 놓은 것 Big O : 시간복잡도를 나타내는 방식 중 하나 (보편적으로 많이 쓰임) 빠름 ~ 느림 O(1) - O(log n) - O(n) - O(n log n) - O(n^2) - O(2^n) - O(n!)
2445번: 별 찍기 - 8 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 해석 1. 단편적인 별의 갯수 - 1 / ... / n / ... / 1 : n을 기준으로 앞 뒤로 나누어 계산 2. 별 - 공백 - 별 : 별 찍는 for문 - 공백 for문 - 별 찍는 for문 ( for문 지옥 ) Java import java.util.*; class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=1; in) { for(int j=i; j0; j--) { System.out.print(' '); } fo..
2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net 문제 해석 1. 별의 갯수: 1 / 3 / 5 / 7 ... : 별의 갯수가 늘어날때는 0에서부터 2의 배수의 수까지로 범위를 지정해준다 : 0 ~ 0 ( 1개 ) : 0 ~ 2 ( 3개 ) : 0 ~ 4 ( 5개 ) 2. 공백 갯수: n-1 / n-2 / .... / 2 / 1 / 0 : 공백 갯수는 n에서부터 1까지로 해준다 : n ~ 1 ( n-1개 ) : n-1 ~ 1 ( n-2개 ) : n-2 ~ 1 ( n-3개 ) Java import java.util.*; class Main{ public stat..
2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제풀이 - 제일 처음 돌리는 for문의 갯수를 공백의 갯수로 생각하면 편하다. Java import java.util.*; class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=0; i
2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net Java import java.util.*; class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=n; i>0; i--) { for(int j=0; j