본문 바로가기

알고리즘50

[알고리즘] 문자열 총 정리 with Java 문자열 편을 다 보고 나서 나름대로 정리를 해보았다. 자고로,, 공부란 끊임없는 기억의 재조합과 반복이라고 생각한다. 이를 위해 계속해서 복습해서 내 것으로 만들어야겠다는 생각을 했다. 문자열 알고리즘을 배우면서 나름 유효했던 배움들을 기록하고 정리해보았다. 배운 것 정리 1. Scanner . 값을 주로 읽기 위해 사용하는 객체 . next() : 한 문자열 읽기 가능 . nextLine() : 한 줄 읽기 가능 . nextInt() : 한 정수 읽기 가능 . next().charAt(0) : 한 문자 읽기 가능 // 사용법 Scanner sc = new Scanner(System.in); 2. s.{ toUpperCase(), toLowerCase() } . 문자열을 대문자로 바꾸기 위해 사용 Str.. 2022. 2. 28.
[알고리즘] 암호 with Java, replace(), subString(a,b),parseInt(a,2) 문자열 마지막 문제. 여러 가지 꿀팁을 알게 된 것 같아 뿌듯하다. 까먹지 않게 자주자주 복습해주어야겠다. 오늘 배운 것 1. replace('#','1').replace('*','0') replace는 chain처럼 여러 번 사용 가능하다. String tmp = str.substring(0,7).replace('#', '1').replace('*', '0'); 2. 2진수를 10진수로 바꾸기 Integer.parseInt(i,2)를 사용하면 가능하다. 뒤쪽에는 몇 진수로 들어갔는지 입력해주면 된다. String tmp = '100'; int num = Integer.parseInt(tmp,2); System.out.println(num);// 4 3. subString(a, b) . subString.. 2022. 2. 27.
[알고리즘] 문자열 압축 with Java, 문자열에 빈 문자 하나 더해주기 오늘은 주말이니까 string파트는 다 끝낸다는 마인드로 강의를 수강해야겠다. 오늘 배운 것 1. 문자열에 빈 문자 하나 더해주기 문자열 전체를 순회하고 싶을 때, 빈 문자열을 하나 더해주는 포인트를 배웠다. 2. 문제 풀이 import java.util.Scanner; public class Main { public static String solution(String str){ String answer = ""; str +=" "; char[] chars = str.toCharArray(); int cnt = 1; for (int i = 0; i < chars.length-1; i++) { if(chars[i] == chars[i+1]){ cnt++; }else{ answer+=chars[i]; if.. 2022. 2. 27.
[알고리즘] 가장 짧은 문자거리 with Java, 거리 구하는 것에 대한 생각 오늘은 주말이니까 string파트는 다 끝낸다는 마인드로 강의를 수강해야겠다. 오늘 배운 것 1. 문자 간 거리를 구하는 방법 로직 앞으로 갔다 뒤로 갔다 한 번씩 해주면 된다. 방향 설정하는 게 중요하다. 앞으로 가면서 최소 거리를 설정하고, 다시 되돌아오면서 최소 거리를 비교하는 로직. 2. 문제 풀이 import java.util.Scanner; public class Main { public static int[] solution(String str,char c){ int [] answer = new int[str.length()]; char[] chars = str.toCharArray(); int p = str.length(); for (int i = 0; i < answer.length; i.. 2022. 2. 27.