일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vscode
- CSS
- windows
- date
- Java
- CMD
- 테이블
- table
- 배열
- javascript
- list
- 문자열
- Button
- 이클립스
- Files
- 이탈리아
- Eclipse
- 자바스크립트
- Maven
- Array
- 인텔리제이
- string
- ArrayList
- html
- Visual Studio Code
- json
- 자바
- IntelliJ
- js
- input
- Today
- Total
목록IT/Algorithm (9)
어제 오늘 내일
https://www.acmicpc.net/problem/2503 야구게임의 숫자를 맞추는 게임이다. 민혁이는 1에서 9까지의 서로 다른 임의의 세자리 숫자를 생각하고 있고,영수는 세자리 숫자를 추측하여 말하면,민혁이는 민혁이가 생각한 임의의 세자리 숫자와 영수가 추측한 세자리 숫자가 어떻게 일치하는 지를 말해 준다.위치와 숫자가 일치하면 스트라이크, 위치는 틀리고 숫자만 일치하면 볼. 이렇게 민혁이와 영수가 문답을 나눈 결과를 보고 정답이 될 수 있는 숫자들의 갯수를 알아내는 문제이다. 문제를 풀기 위해 나는숫자 111~999까지 순서대로 숫자를 생성하여문제에서 주어진 조건에 일치하는지 여부를 하나씩 확인하는 방법을 사용하였다.물론, 민혁이가 생각하는 숫자의 각 자릿수는 서로 모두 서로 다른 숫자이므로..
https://www.acmicpc.net/problem/2644 주어진 문제의 촌수를 계산하는 문제이다. 문제에 예시로 주어진 경우를 트리로 표현하면 다음과 같다. 문제는 이 트리에서 문제에 주어진 두 숫자의 관계가 몇촌인지를 계산하는 것이다. 문제풀이.먼저 두 숫자의 부모를 모두 찾아서 두개의 array에 담았다.그리고 이 두개의 array를 순서대로 비교하여 동일한 숫자가 나오는 index값을 찾아서 그 두개의 index를 더해주면 두 숫자의 촌수가 된다. 예를 들어,7의 부모는 7을 포함하여 arrayA = 7,2,13의 부모는 3을 퐇마하여 arrayB = 3,17과 3의 부모를 저장한 위의 두 arrayA와 arrayB를 순차적으로 탐색했을 때 공통된 숫자는 1.arrayA에서 1의 index..
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(..
https://www.acmicpc.net/problem/1065 문제는 짧은데 문제를 이해하기가 좀 어려웠다. '한수'란, X라는 숫자의 각각의 자릿수가 등차수열을 이루고 있는 숫자를 말한다. 예를 들어, 1357이라는 숫자의 1000의 자리수 1과 100의 자리수 3은 2차이가 난다. 100의자리수 3과 10의 자리수 5는 2차이가 난다. 10의 자리수 5와 1의 자리수 7은 2차이가 난다. 각각의 자릿수는 2차이로 등차수열을 이룬다. 이렇게, 각각의 자릿수가 등차수열을 이루는 숫자를 찾는 문제이다. 문제의 주어진 숫자 범위 안에 몇 개의 한수가 존재하는지 찾으면 된다. 문제를 푸는 방법은, 1부터 N까지 숫자를 증가시켜 가면서, 그 숫자가 한수인지 모두 체크하면 된다. import java.util..