코딩테스트 진행하다가 순열사용할 때 재활용할 수 있을 것같아서 올려 둔당. 문자열에서 각 문자 별로 모든 경우의 수를 구하다가 사용하게 된 순열 알고리즘 중복 제거를 위해 HashSet을 사용했다. String s = "aab" 이면 aab, aba, baa 가 나온다. import java.util.*; class Solution { // 문자열로 만들 수 있는 모든 경우의 수 (중복x) public HashSet allSet; public void solution(String s) { allSet = new HashSet(); permutation("", s); } // 모든 경우의 수를 구하는 순열 public void permutation(String prefix, String s) { int n..
1. 문제 app.codility.com/programmers/lessons/1-iterations/ 1. Iterations lesson - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 2. 설명 이진수 10001001이 있다면 1과 1사이의 0의 갯수중 최댓값을 구하는 문제. 입력받은 N을 2진수(String)로 바꾸고, 한 글자씩 비교해가면서 구했다. Time Spent는 1M 나왔다. 3. 코드 class Solution { public int solution(int N) { // 10 -> 2 String N2 = Integer.toBina..
controller에서 mapping을 진행하던 중, MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE 에서 406에러가 생겼다. 테스트를 진행해 보던 중 406에러가 떠서 찾아봤는데, dependency를 추가하면 해결된다고 했다. 저번 테스트 때는 됬었는데 왜 지금은 안되는지 모르겠다. 며칠사이에 업데이트됬나;; 무튼 pom.xml에 아래와 같이 추가해줘서 해결함. com.fasterxml.jackson.core jackson-databind 2.9.4 com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.9.4
1. 문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 2. 설명 0에서 9까지의 숫자의 수를 담은 배열 numSet을 선언했다. 6과 9는 뒤집어서 사용할 수 있기 때문에 한 곳에 모았으며, (6에 모았다) 6을 2로 나눠주었다. 나머지가 있을 경우엔 한 세트가 더 필요하기 때문에 더해줬다. 그리고 int 배열로 선언해줬기 때문에 내림차순 정렬인 reverseOrder를 사용할 수 없어서, 그냥 오름차순 해주고 마지막 요소를 출력해줬다 ! 3. 코드 import java.io.BufferedReader; import java.i..
1. 문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 � www.acmicpc.net 2. 설명 문자열 앞과 뒤에 공백이 올 수 있기 때문에 입력받은 문자열을 trim 함수를 이용해 공백제거를 해준다. 그리고 공백 기준으로 split 해줬다. 그리고 입력이 ' ' (공백만 있을 경우)일 경우에도 고려해줘야 한다. 공백만 입력받을 경우를 생각을 못해서 틀렸었다. 3. 코드 import java.io.BufferedReader; import java.io.IOExce..
1. 문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 2. 설명 문자열 처리 파트의 문제. 정답 출력을 대문자로 하기 때문에 대문자로 캐스팅해줬다. 그리고 문자 하나씩 비교해서 maxAlpha를 구해갔다. 3. 코드 import java.util.StringTokenizer; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main ..
1. 문제 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 2. 설명 묶음으로 구매할 때와 낱개로 구매할 때의 경우를 따로 집합에 삽입해 오름차순으로 정렬했다. 그리고 묶음으로 구매할 때 vs 낱개로 6개를 구매할 때를 비교해서 작은 값을 구했다. (minBundle) 정답의 경우 예를 들어, 14개를 구매할 경우, 3묶음(18)으로 구매할 경우와 2묶음(12) + 2개로 구매할 경우를 비교해 최솟값을 출력하도록 했다. 3. 코드 impor..
- Total
- Today
- Yesterday