Java (501) 썸네일형 리스트형 [자바 알고리즘 인터뷰] 6장 문자열 처리(5) 그룹 애너그램 https://leetcode.com/problems/group-anagrams/description/ - 문자열 배열을 받아 애너그램 단위로 그룹핑하라 풀이 1) 정렬하여 비교 - 애너그램을 이루는 단어들을 정렬하면 모두 같은 값을 갖게 된다. - 우선, 정렬한 값을 보관하기 위한 맵을 선언한다. - 하나의 키에 애너그램인 여러 개의 값이 추가될 수 있기 때문에 값은 리스트 형태가 되며, 따라서 맵은 리스트를 값으로 둔 형태로 선언한다. //애너그램 결과를 보관하기 위한 맵 선언 Mapresults = new HashMap(); - 입력값을 하나씩 순회하며 정렬한다. //입력값인 문자열 배열을 순회 for(String s : strs) { //문자열을 문자 배열로 변환 char[] chars = s.t.. [자바 알고리즘 인터뷰] 6장 문자열 처리(4) 가장 흔한 단어 https://leetcode.com/problems/most-common-word/description/ - 금지된 단어를 제외하고 가장 흔하게 등장하는 단어를 출력하라, 대소문자를 구분하지 않으며, 구두점(마침표, 쉼표 등)또한 무시한다. 풀이 1) 전처리 작업 후 개수 처리 및 추출 - 입력값에는 대소문자가 섞여 있으며 쉼표 등 구두점이 존재한다. - 따라서 데이터 클렌징(Data Cleansing)이라 부르는 입력값에 대한 전처리(Processing) 작업이 필요하다. - 정규식에서 \W는 단어 문자(Word Character)가 아닌 것을 뜻한다. - 단어 문자를 뜻할 때는 \w를 사용 - 문자 뒤에 +를 붙이면 연속적인 값을 의미한다. - \W+는 연속적으로 단어 문자가 아닌 값을 의미 rep.. [자바 알고리즘 인터뷰] 6장 문자열 처리(3) 로그 파일 재정렬 https://leetcode.com/problems/reorder-data-in-log-files/description/ - 로그 파일을 재정렬하라. 기준은 다음과 같다. 1) 로그의 가장 앞부분은 식별자로서, 순서에 영향을 끼치지 않는다. 2) 문자로 구성된 로그가 숫자 로그보다 앞에 오며, 문자 로그는 사전순으로 한다. 3) 문자가 동일할 경우에는 식별자순으로 한다. 4) 숫자 로그는 입력 순서대로 한다. 풀이 1) 문자 로그와 숫자 로그를 구분해 각각 처리 - 먼저 문자로 구성된 로그가 숫자 로그보다 이전에 오며, 숫자 로그는 입력 순서대로 둔다. - 문자 로그와 숫자 로그는 서로 정렬 방식이 다르므로, 둘을 분리해 정렬하고 나중에 결과를 서로 이어붙이는 방식으로 풀이 - 먼저 로그에서 각각의 종.. [JAVA] 프로그래머스 - n개 간격의 원소들 https://school.programmers.co.kr/learn/courses/30/lessons/181888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 import java.util.ArrayList; class Solution { public int[] solution(int[] num_list, int n) { ArrayListlist = new ArrayList(); for(int i=0; i [JAVA] 프로그래머스 - n 번째 원소까지 https://school.programmers.co.kr/learn/courses/30/lessons/181889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 class Solution { public int[] solution(int[] num_list, int n) { int[] answer = new int[n]; for(int i=0; i [JAVA] 프로그래머스 - 왼쪽 오른쪽 https://school.programmers.co.kr/learn/courses/30/lessons/181890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - l 또는 r이 배열안에 없는 경우는 빈 배열을 return - l일 경우는 l이전의 것을 return - r일 경우는 r이후의 것을 return 정답 import java.util.Arrays; class Solution { public String[] solution(String[] str_list) { String answer[] = {}; for(int i=0; i [JAVA] 프로그래머스 - 순서 바꾸기 https://school.programmers.co.kr/learn/courses/30/lessons/181891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 개의 리스트 하나로 합치기 List.addAll() Java - 두개의 List를 하나로 합치는 방법 (codechacha.com) Java - 두개의 List를 하나로 합치는 방법 두개의 List를 하나의 Lis로 합치는(join) 방법을 소개합니다. List.addAll(), Guava의 Iterables.unmodifiableIterable()와 Lists.newArrayList(), .. [JAVA] 프로그래머스 - n 번째 원소부터 코딩테스트 연습 - n 번째 원소부터 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 import java.util.ArrayList; class Solution { public int[] solution(int[] num_list, int n) { ArrayList list = new ArrayList(); for(int i=n-1; i 이전 1 ··· 33 34 35 36 37 38 39 ··· 63 다음