본문 바로가기

분류 전체보기231

JadenCase 문자열 ㅇ 1차풀이 public static String solution(String s) { StringBuilder result = new StringBuilder(); String answer = ""; for (char c : s.toCharArray()) { if (Character.isLetter(c)) { result.append(Character.toLowerCase(c)); }else { result.append(c); } } String convertS = result.toString(); String[] S = convertS.split(" "); for(int i = 0; i < S.length; i++) { if(Character.isLetter(S[i].charAt(0))){ S[i]=.. 2024. 2. 8.
다시 lv2로 lv1만푸니깐 자료구조를 공부할수없어 다시 lv2로 돌아왔다. 풀었던 문제긴한데 다시 풀어봤다. 띄어쓰기를 기준으로 split 한다음, min max 를 split 한 배열의 첫번째 원소로 잡고, 반복문으로 한번 돌고 가장작으면 min, 가장 크면 max 해서 return 해줬다. 지난번엔 sort 해서 풀었던데, s가 String 이기도하고 '-'가 붙으면 역순으로 정렬되기도 해서 안된다. ㅇ 풀이 public String solution(String s) { String[] S = s.split(" "); int min = Integer.parseInt(S[0]); int max = Integer.parseInt(S[0]); for(int i = 0; i < S.length; i++){ if(min .. 2024. 2. 7.
최대공약수와 최소공배수 간만에 들어보는 최대공약수와 최소공배수 최대공약수는 유클리드 호제법을 사용했다. 3%12 = 3 다음으로 m을 n의자리로, 나머지를 m의자리로 보내고 계속해서 나머지를 구한다. 그렇게 했을때, 나머지가 0이 될 때 m이 최대공약수가 된다. 다른 예를 보자. n = 20, m = 14 일때 이렇게 되면 나머지가 0이될때의 m의자리는 2이니, 최대공약수는 2가 된다. 최소공배수는 (n * m) / 최대공약수 하면 나온다. ㅇ 풀이 public int[] solution(int n, int m) { int[] answer = new int[2]; int a1 = n; int a2 = m; while(a2 != 0){ int temp = a1 % a2; a1 = a2; a2 = temp; } answer[0] .. 2024. 2. 6.
3진법 뒤집기 주어진 Int n을 3진법으로 표현후, 뒤집고, 다시 10진법으로 변환하면된다. ㅇ 풀이 public int solution(int n) { int answer = 0; //int n 을 3진수로 변환 String th = Integer.toString(n,3); //변환한 n인 th를 뒤집어서 담을 ht String ht = ""; //th를 뒤집는다. for(int i = th.length()-1; i >= 0; i--){ ht += th.charAt(i); } //3진수인 ht를 다시 10진수로 변환한다. answer = Integer.parseInt(ht,3); return answer; } 진수변환하는걸 사실 까먹어서 찾아봤다. 잊지말자! 2024. 2. 5.