일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Database
- BFS
- SQL
- mybatis
- 탐욕법
- select
- 이펙티브자바
- 데이터베이스
- springboot
- Effective Java
- Greedy
- 알고리즘
- 피보나치
- 정렬
- 우선순위큐
- mariaDB
- 백준
- 너비우선탐색
- DP
- 프로그래머스
- DFS
- 그리디알고리즘
- join
- 다이나믹프로그래밍
- java
- 코테
- IntelliJ
- db
- 깊이우선탐색
- Spring
- Today
- Total
목록알고리즘 (153)
땀두 블로그

public class p2407 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); int c = b; long sum = 1; if (b * 2 < a) { b = a - b; } for (int i = 0; i < c; i++) { sum *= a; a--; } ..

배열 하나를 만들어서, lost 배열에 인덱스 값은 1씩 빼주고, reserve 배열에 인덱스 값들은 1씩 더해준다. 이 기초 배열을 토대로 반복실행하여 해당 인덱스가 체육복이 없는 상황이면 인덱스가 마지막 학생이 아닌 경우, 뒤에 학생의 옷이 두 벌일 때 빌리고, 첫번째 학생이 아닌 경우, 앞에 학생이 옷이 두 벌일 때 빌리는 방식으로 답을 구해가면 된다. class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; int [] ary = new int [n]; for(int i=0;i

간단하게 브루트포스를 통해서 값을 만들어주고, 결과값을 나타내는 배열에 저장해주면 된다. import java.util.*; class Solution { public int[] solution(int[] answers) { int[] ary1 = {1, 2, 3, 4, 5}; int[] ary2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] ary3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int ans1=0; int ans2=0; int ans3=0; for(int i=0;i

간단히 int형 배열을 string으로 복사하고, 두 값을 붙여서 더 큰 값 순서대로 정렬한 다음 그 값들을 이어붙이면 되는 문제이다. 이 문제에서 주의사항은 0이 0번 인덱스에 들어있는 것인데 이 경우만 제외해주면 간단히 해결할 수 있다. import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; String [] ary = new String[numbers.length]; for(int i=0;i