본문 바로가기

알고리즘/문제풀이 - JAVA

(6)
10진수 -> 2,8,16진수, 오름(내림)차순 정렬 진수변환 int num = 20; String a2 = Integer.toBinaryString(num); // 10진수 -> 2진수 String a8= Integer.toOctalString(num); // 10진수 -> 8진수 String a16 = Integer.toHexString(num); // 10진수 -> 16진수 정렬 Integer[] arr={1,3,2,5,4}; Arrays.sort(arr); // 오름차순 정렬 => arr={1,2,3,4,5}; Arrays.sort(arr,Collections.reverseOrder()); // 내림차순 정렬 => arr={5,4,3,2,1}
Base64 Encoder & Decoder (암호화, 복호화) ktko.tistory.com/entry/JAVA-BASE64-%EC%9D%B8%EC%BD%94%EB%94%A9-%EB%94%94%EC%BD%94%EB%94%A9%ED%95%98%EA%B8%B0 fruitdev.tistory.com/79 Base 64에는 어떤 문자와 기호를 쓰느냐에 따라 여러 변종이 있지만, 잘 알려진 것은 모두 처음 62개는 알파벳 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이만 있다. 인코딩된 문자열은 알파벳 대소문자와 숫자, 그리고 "+", "/" 기호 64개로 이루어지며, "="는 끝을 알리는 코드로 쓰인다. 우선 24비트 버퍼에 위쪽(MSB)부터 한 바이트씩 세 바이트를 집어넣는다. 그리고 남은 바이트가 3바이트 미만이라면, 버퍼의 남은 ..
백준 13단계 브루트 포스 - 2798 블랙잭 N장의 카드 중 3장을 중복없이 뽑는 모든 경우의 수를 검사함 ex) N=10일때 => 배열의 범위는 0~9 i=0, j=1, k=2~9 i=0, j=2, k=3~9 ... i=0, j=8, k=9 i=1, j=2, k=3~9 ... i=6, j=7, k=8~9 i=7, j=9, k=9 이 모든 경우에서 뽑아준 3개의 숫자들이 모두 M보다 작을 경우(한 번 걸러주는 것임) sum에 이 3개 숫자의 합을 담아줌 이 때 sum에 담긴 숫자가 M보다 작고 max보다 클 경우 티 값을 max에 담아줌 => max를 출력하면 M보다 작은 최대값인 3개 숫자의 합이 출력된다
백준 13단계 브루트 포스 - 7568 덩치 몸무게, 키 모두 나보다 커야 나보다 덩치가 크다고 함 따라서 나를 기준으로(int i) 모든 이들을 검사(int j)해 나보다 덩치가 큰 사람의 수(int count)를 센다 제일 덩치가 큰 사람의 등수는 1등이므므로 count의 초기값은 1이고 i가 하나씩 증가할때마다 새로 세줘야 하므로 rank 배열에 값을 저장한 후, j for문이 시작할때마다 초기값 1로 돌려준다 => rank[i]에는 i번째 사람의 등수가 담김
백준 11단계 재귀 - 10870 피보나치 5
백준 11단계 재귀 - 10872 팩토리얼