www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 이 문제는 순열을 구현하는 문제입니다. 기존 기본 순열 문제와 다른 점은 출력할 수가 주어진다는 것입니다. n, m, 출력할 숫자 배열(nums)을 입력받고 nums를 오름차순으로 정렬합니다. 그런 다음 순열을 구하는 메소드에 (nums, 실제 선택된 수 배열, nums이 각 인덱스가 선택되었는지 확인할 배열, n, m, 선택된 숫자 개수)를 전달합니다. 선택된 숫자 개수(depth)가 m과 같은 경우..
www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이 문제는 중복 조합을 구하는 문제입니다. 기존 조합을 구현한 코드에서 다음에 선택할 수 있는 수의 시작 위치를 선택한 수의 다음이 아닌 지금 선택한 수부터 가능하도록 하여 구현할 수 있습니다. 자바 코드는 다음과 같습니다. import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void ..
인터페이스 인터페이스는 동일한 목적 하에 동일한 기능을 수행하게 강제하는 것으로 자바의 다형성을 극대화하여 개발 코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 사용합니다. 간단한 예로 인터페이스를 이해해보겠습니다. 동물원 사육사가 있다. 육식 동물이 들어오면 그 동물이 좋아하는 먹이를 던져준다. 호랑이가 들어오면 돼지고기를 던져주고 사자가 들어오면 닭고기를 던져준다. 위와 같은 케이스를 코드로 작성해보겠습니다. Animal.java public class Animal { private String name; public Animal(String name) { this.name = name; } public String getName() { return name; } } Tiger.java publ..
www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이 문제는 중복이 가능한 순열을 통해 해결할 수 있습니다. 즉, 일반 순열에서 수를 선택했는지 안했는지 확인하는 부분을 제거하고 매 depth마다 모든 수를 앞에서부터 선택하여 숫자 배열에 추가하고 depth가 m이랑 같아질 때 선택했던 수들을 순서대로 출력하면 됩니다. depth가 m이랑 같을 때 바로 수를 출력하려고 했더니 시간 초과가 나서 StringBuilder를 사용하여 출력할 수들을 저장해두고 최종..
package 패키지(package)는 비슷한 성격의 자바 클래스들을 모아 놓은 자바 디렉토리입니다. 패키지를 만들 때는 package라는 키워드를 사용합니다. package asia.country; public class Korea { } `````````````````````````````````` package asia.country; public class China { } 위 두 개의 클래스를 작성한 뒤 저장하면 다음과 같은 디렉토리 구조의 파일이 생성됨을 알 수 있습니다. 즉, 패키지는 디렉토리 구조를 그대로 따라갑니다. src/asia/country/Korea.java src/asia/country/China.java bin/asia/country/Korea.class bin/asia/cou..
- Total
- Today
- Yesterday
- 에라토스테네스의 체
- 수학
- sort
- Algorithm
- string
- EC2
- search
- AWS
- BFS
- spring
- 조합
- ionic
- programmers
- DFS
- Baekjoon
- CodeCommit
- SWIFT
- map
- ECR
- java
- Combination
- 소수
- CodeDeploy
- Dynamic Programming
- array
- 순열
- permutation
- CodePipeline
- cloudfront
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |