목록Argorithm (78)
빙응의 공부 블로그

📝풀이 가장 중요한 것은 차례대로 비교할 때 어떻게 비교할 것인가이다. 나는 일단 첫번째 값을 할당하고 same을 1로 시작했다. 그리고 문자열 덩어리는 1개부터 시작이므로 answer도 1로 시작하여 현재의 값과 전 값을 비교하게 만들었다. 중요한 것은 단어 비교 순서를 어떻게 할까이다. class Solution { public int solution(String s) { int answer = 1; //최소 1개의 문자열 덩어리가 존재 char first = s.charAt(0); // 첫 번째 단어 저장 int same = 1; //같을 때 이미 1개를 저장했으므로 int different = 0; //다를 때 for(int i = 1; i < s.length()-1; i++){ if(first ..

📝풀이 정말 쉬운 문제 나는 해시 맵을 사용해서 저장한 다음 중복 값이 나오면 값을 계산한 후 해시맵을 갱신하였다. import java.util.HashMap; class Solution { public int[] solution(String s) { int[] result = new int[s.length()]; HashMap map = new HashMap(); for(int i = 0; i

📝풀이 평범한 문자열 문제 1. length() 2. chatAt() 3. 타입 변환 3개를 가지고 잘 구현하면 된다. 단 첫 시도에서 런타임에러가 나왔다. 이유는 p가 18까지라서 int 말고 long을 사용해야 하기 때문이다. class Solution { public int solution(String t, String p) { int leng = p.length(); int answer = 0; int count = t.length() - leng+ 1; //반복 횟수 for (int i = 0; i < count ; i++) { String temp = ""; for (int j = 0; j < leng; j++) { temp += t.charAt(i + j); } if(Long.parseLon..

📝풀이 정말 어려웠다.... 카카오 알아야 하는 것은 3가지이다. 1. String 처리 : terms, privacies를 처리하려면 split을 써야한다. 2. 날짜 처리 방식 : 나는 자바의 LocalDate를 사용했는데, 날짜 형식 상관없이 모든 날짜를 Day 형식으로 풀어서 푸는 방법도 있다. 3. Map: terms를 효율적으로 처리하기 위해서 Map 사용되는게 권장된다. import java.time.LocalDate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class Solution { public int[] solution(String today, String[] terms, S..

📝풀이 아스키 코드의 개념과 문자열 처리가 중요한 문제이다. 'a'의 아스키 코드는 97, 'z'의 아스키 코드는 122이다. skip을 검사하기 위해 .contains()을 사용하였다. class Solution { public String solution(String s, String skip, int index) { String answer = ""; for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); for (int j = 0; j < index;) { if (ch == 'z') //[A]ch가 z라면 a로 이동시켜줘야 한다. ch = 'a'; else ch = (char) ((int) ch + 1); if(!skip.contains(St..

📝풀이 문제를 이해하면 자료구조 문제이다. 앞을 해결하지 못하면 뒤를 못쓰는 FIFO 방식으로 Queue를 쓰거나 컬렉션을 구현하면 된다. 나는 백터를 썼다. import java.util.Vector; class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { Vector card1 = new Vector(); Vector card2 = new Vector(); // card1에 요소 추가 for(String card : cards1) card1.add(card); // card2에 요소 추가 for(String card : cards2) card2.add(card); // goal 확인 for(St..