분류 전체보기
숨어있는 숫자의 덧셈(2)→replaceAll()+정규식, str.split() 두 번 써서 숫자 갈라치기
다른 사람의 풀이 class Solution { public int solution(String my_string) { int answer = 0; String[] str = my_string.replaceAll("[^0-9]", " ").split(" "); for(String s : str){ if(!s.equals("")) answer += Integer.valueOf(s); } return answer; } } ▶ replaceAll() 메서드를 이용해서 숫자가 아닌 문자는 모두 띄어쓰기로 바꾸어 버린다. ▶ replace(str1, str2)는 어떤 문자열 str1을 다른 문자열 str2로 변환하는 함수이다. ▶ replaceAll(pattern, str1)도 replace()처럼 어떤 문자열을..
잘라서 배열로 저장하기★★→ 한 문자씩 빈문자열 더하기 + if조건☆
다른 사람의 풀이 import java.util.List; import java.util.ArrayList; class Solution { public String[] solution(String my_str, int n) { List answer = new ArrayList(); String str = ""; for(int i=0; i
소인수분해★ → 중복을 제거할 때 Set을 사용, n값 갱신
나의 풀이 import java.util.*; class Solution { public int[] solution(int n) { int i =2; HashSet set = new HashSet(); while(n !=1){ if(n % i ==0){ n/=i; set.add(i); } else{ i+=1; } } ArrayList tmp = new ArrayList(set); Collections.sort(tmp); return tmp.stream().mapToInt(Integer::intValue).toArray(); } } ▶ set을 사용하여 중복제거 ▶ set을 리스트로 변환 후 정렬 ▶ 리스트를 int[ ] 배열로 변환
이진수 더하기
나의 풀이 class Solution { public String solution(String bin1, String bin2) { String answer = ""; int str1=Integer.parseInt(bin1, 2); int str2=Integer.parseInt(bin2, 2); String result = Integer.toBinaryString(str1 + str2); return result; } } ▶ Integer.parseInt(str1, 2) →문자열str1을 2진수로 인식한 다음 10진수로 바꾸어 준다. ▶ Integer.toBinararyString() 의 매개변수가 int 타입이라는 것에 주의 하자