일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 프로젝트
- Controller
- 팀프로젝트
- jdk11
- 자바
- SpringBoot
- coding test
- MariaDB
- spring
- 공유DB
- 백준
- 디자인패턴
- gradle
- Java
- 입출력
- 취준생
- 코딩테스트
- MVC
- IntelliJ
- ps
- JPA
- JDK
- React
- 자취
- AWS
- Project
- spring boot
- 코테
- 스프링
- javascript
- Today
- Total
목록PS (35)
Tech Collection
1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 문제 해석 1. String으로 받기 : 0이면 반복문 빠져나오고 종료 2. 문자열 전체길이 반만큼 반복문 돌려서 앞, 뒤 비교 2차 문제 분석 1. 0 하나가 입력되면 종료 2. 문장의 맨 앞에 0이 오더라도 포함하지 않고 숫자 형식으로 판단 : 숫자로 입력받아서 문자열로 변환 3. 0이 아닌 한 글자일때 yes 4. 문자열을 역순으로 저장하고 원래 문자열과 비교하기 : 여기서...잘 안됐었다..... : 문자열을 반으로 나누는 방식이 잘못되었던 것 같다..! Java // ..
10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 문제 해석 1. 공백 : 전체 줄의 수 - 현재 줄의 수 2. 별 : 별과 공백을 하나의 세트로 보고 문자열에 추가 Java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=1; i
2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 해석 n = 5 1. 별의 갯수 9 - 7 - 5 - 3 - 1 - 3 - 5 - 7 - 9 : 첫번째 줄 = 2n -1 개 = 2(n-1)+1 개 : 두번째 줄 = 2n -3 개 = 2(n-2)+1 개 : 세번째 줄 = 2n -5 개 = 2(n-3)+1 개 : 여섯번째 줄 = 2n -7 개 = 2(n-4)+1 개 : 아홉번째 줄 = 2n -1 개 = 2(n-1)+1 개 2. 공백 갯수 0 - 1 - 2 - 3 - 4 - 3 - 2 - 1 - 0 Java import java.util.Scanner; public class Main { public static void main(Str..
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을 바꿔준다. ..
완전탐색 : 모든 경우의 수를 다 따져보고 찾음 : 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..