본문 바로가기

알고리즘/문자열, 정렬38

[알고리즘] 가장 짧은 문자거리 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.
[알고리즘] 숫자만 추출 with Java, isDigit() 오늘은 주말이니까 string파트는 다 끝낸다는 마인드로 강의를 수강해야겠다. 오늘 배운 것 1. Character.isDigit(c) 숫자인지 판별해주는 메서드 System.out.println(Character.isDigit('8'));// true 2. ASCII 숫자 '0' ~ '9' : 48 ~ 57 3. 문제 풀이 import java.util.Scanner; public class Main { public static int solution(String str) { int answer = 0; char[] chars = str.toCharArray(); for (int i = 0; i =48 && chars[i] 2022. 2. 27.
[알고리즘] 유효한 팰린드롬 with Java, 정규식, replaceAll() 2시쯤 되니까 집중력이 많이 떨어진다.. 많이 해보려해도 이제 체력이 안되는 것인가ㅠㅠ 오늘 배운 것 1. 정규식 ^ : not [^A-Z] : a부터 z까지 알파벳이 아닌 것 str.replaceAll("[^A-Z]","") 2. replaceAll(a,b) 전부 교체하는 함수인듯 3. 문제풀이 import java.util.Scanner; public class Main { public static String solution(String str) { String answer = "YES"; char[] chars = str.toCharArray(); String tmp = ""; for (int i = 0; i < chars.length; i++) { if (Character.isAlphabetic.. 2022. 2. 26.
[알고리즘] 회문 문자열 with Java, equalsIgnoreCase() 회문 문자열을 구현해보고자 한다. 대소문자를 구분하지 않는 equals가 있다는 사실이 조금 신기했다. 오늘 배운 것 1. 문자열 반까지만 for문 돌기 i < len/2 i len-1-i 2. equalsIgnoreCase() 이 함수는 대소문자 구분 없이 판별해준다. System.out.println("t".equalsIgnoreCase("T"));// true 3. 문제 풀이 import java.util.Scanner; public class Main { public static String solution(String str) { String answer = "YES"; str = str.toUpperCase(); for (int i = 0; i < str.length()/2; i++) { if.. 2022. 2. 26.