일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- json
- 자바
- string
- windows
- Maven
- 이클립스
- js
- html
- 문자열
- input
- Array
- 이탈리아
- CSS
- 자바스크립트
- ArrayList
- Button
- CMD
- IntelliJ
- table
- date
- list
- Eclipse
- 배열
- javascript
- vscode
- 테이블
- Files
- Java
- Visual Studio Code
- 인텔리제이
- Today
- Total
목록알고리즘 (6)
어제 오늘 내일
https://www.acmicpc.net/problem/2309 9명의 난쟁이들 중, 7명의 키의 합이 100임을 이용하여7명의 난쟁이들을 찾아내는 문제이다. 7명의 키의 합이 100이어야 하기 때문에매번 다른 2명의 난쟁이들을 빼고,나머지 7명의 난쟁이들의 키의 합을 구했다. 그런데 아무리 난쟁이라고 하지만7명의 키를 합쳐서 100이라니...ㅠㅠ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated meth..
https://www.acmicpc.net/problem/2292 6각형으로 이루어진 벌집의 중심에서 특정 위치까지 이동할 때최소한으로 움직이는 횟수를 구하는 문제이다. 벌집의 각 방에 매겨진 숫자를 잘 살펴보면가장 가운데 있는 방의 최대 숫자는 1두번째 단계에 있는 방의 최대 숫자는 7그 다음의 방의 최대 숫자는 19그 다음의 방의 최대 숫자는 37.....이다. 1, 7, 19, 37, 61... 1 7 = 1 + 619 = 7 + 6 + 637 = 19 + 6 + 6 + 6 61 = 37 + 6 + 6+ 6+ 6... 이런 식이 성립함을 알 수 있다.위와 같은 알고리즘을 반영하여 아래 코드를 작성하였다. import java.util.Scanner; public class Main { public ..
https://www.acmicpc.net/problem/1924 2007년 1월 1일을 월요일이라고 가정했을 때,(아니 실제로 월요일이다!!)어쨌든!2007년 특정일의 요일을 알아내는 프로그램을 작성하면 된다. import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int d = sc.nextInt(); int[] mdays = new int[13]; mdays[1] = mdays[3] = mdays[5] = mdays[7] = mdays..
https://www.acmicpc.net/problem/1922 최소 비용으로 모든 컴퓨터를 네트워크로 연결하는 방법을 찾는 문제이다.문제의 알고리즘 분류에도 나와 있듯이 문제는 '최소 스패닝 트리', '최소 신장 트리' 문제이다. 최소 스패닝 트리 문제를 해결하는 알고리즘으로프림 알고리즘과 크루스칼 알고리즘이 있다. 각 알고리즘에 대한 자세한 설명은 아래의 링크를 참조한다.프림 알고리즘(Prim's algorithm)크루스칼 알고리즘(Kruskal’s algorithm) 그리고 나는 이 문제를 프림 알고리즘을 적용하여 해결하였다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import..
https://www.acmicpc.net/problem/1912 주어진 수열에서 연속된 숫자의 가장 큰합을 구하는 문제이다. 가장 직관적인 방법으로 모든 케이스를 돌려보는 방법이 있다. 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이와 같은 수열일 경우10 = 1010 + -4 = 610 + -4 + 3 = 9.....-4 + 3 = -1-4 + 3 + 1 = 0....-1이런식으로 모든 경우의 수를 만들어서 다 돌려보는 것이다. import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated metho..
https://www.acmicpc.net/problem/1152 스페이스로 구분 된 단어의 갯수를 세는 문제이다. 처음에는 단순하게 전체 문장을 String으로 읽어서String의 split함수를 이용하여 배열에 단어를 쪼개 넣은 뒤배열의 갯수를 리턴하면 될 것이라고 생각해서 아래와 같이 프로그래밍 하였다. import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int rslt = 0; String s = sc.nextLine(); String[] slist = s.split(..