목록Programming/JAVA (4)
차근차근
1. File > settings 2. Editor > Color Scheme > Java 3. Inherit values from 체크해제 4. 원하는 color로 변경
[유튜브 동빈나님 알고리즘 강의를 듣고 정리하는 글] 선택 정렬은 숫자중에 가장 작은 값을 찾고 위치를 바꾸고, 그 다음으로 가장 작은 값을 찾고 위치를 바꾸는 걸 반복한다. 이를 코드로 표현하면 다음과 같다. public static void main(String[] args) throws IOException { // 가장 작은 숫자를 선택해서 앞으로 보낸다. > min이 필요 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int numbers[] = new int[n]; int min, tmp; // 수 입력받기 for(int i=0; i
어제 만든 시저 암호를 복호화 해보자. #문제설명 "Fipmizi mr csyvwipj"를 복호화 할 것이다. 1. key 값은 주어지지 않고 암호화 된 메세지 "Fipmizi mr csyvwipj" 만 받는다. 2. 메세지 중에서 가장 많은 알파벳을 찾는다. ("Fipmizi mr csyvwipj"에서 가장 많이 나온 알파벳은 i이다.) 여기서 i는 e를 암호화 한 것으로 본다. 3. i와 e의 차이를 통해 key 값을 구할 수 있다. 4. 암호화된 메세지와 key 값을 통해 복호화를 한다. (복호화 알고리즘은 저번 포스팅과 동일하다) 결과는 풀이에서 볼 수 있다. # 풀이 먼저 가장 많은 단어를 찾아야 한다. public static char maxAlpha(String st) { int maxCou..
# 수업 때 배운 것 정리하는 목적 시저 암호는 key 값을 받아 알파벳을 key 만큼 민다. 'A B C' 에 key = 3 일 때 3만큼 움직여서 'D E F'로 바꾼다. 여기서 간단히 생각하면 평문을 받은 후 + key를 하면 된다. 하지만 알파벳의 경우에만 적용하므로 아스키코드가 A~Z(65~90), a~z (97~122)일 때만 적용해야 한다. public static String CaesarCipher(String msg, int key) { char[] enc = new char[msg.length()]; for(int i=0; i= 65 && ch = 97 && ch = 97 && ch 122) ch -= 26; } enc[i] = ch; } isLowerCase() 와 isUpperCas..