자주 나오는 유형
- 회문 검사 (Palindrome)
- 아나그램 비교
- 중복 문자 제거
- 문자열 압축, 슬라이딩 윈도우
- 문자 빈도 수 세기
Java 핵심 포인트
- StringBuilder, String.charAt(i), toCharArray()
- Map, Set, Arrays.sort()
- substring, split, replace, equals, charAt
문제 풀이
- 문자열 압축
https://school.programmers.co.kr/learn/courses/30/lessons/60057
문제 키포인트
1) 압축 가능한 자릿수까지 모두 압축해보고 길이 비교하기 (s.length /2 까지 압축 가능)
2) 압축된 문자열 StringBuilder 에 담기
3) 시작지점부터 압축이 가능한 조건이어야 하며, 압축이 불가능한 뒷부분은 그대로 붙이기 - 괄호변환
https://school.programmers.co.kr/learn/courses/30/lessons/60058
문제 키포인트
1) 문제 지문과 수도코드 꼼꼼히 읽기
2) 수도코드의 가이드 대로 구현하기(*재귀적으로 수행)
3) 이게 왜 되는거지? 독해하기 - 전화번호 목록
https://school.programmers.co.kr/learn/courses/30/lessons/42577
문제 키포인트
1) 문자열 배열의 정렬 기준에 대해 고민하기
2) 접두어는 더 짧기 때문에 내림차순 시 앞에 놓이게 됨 - [3차] 파일명 정렬
https://school.programmers.co.kr/learn/courses/30/lessons/17686
문제 키포인트
1) 1차원 문자열 배열을 2차원 문자열 배열로 분류하기
2) 정렬 기준대로 맞추기 - 오픈채팅방
https://school.programmers.co.kr/learn/courses/30/lessons/42888
문제 키포인트
1) map으로 사용자 별 nickname 담아두기 (change가 앞에 발생하던 나중에 발생하던 덮어씌우기)
2) 커맨드 별 응답 메세지에 nickname 씌우기
'CS 정리 > 알고리즘, 자료구조' 카테고리의 다른 글
기사의 현명한 아내: 불가능한 여정 찾기(java 코드포함 풀이) (0) | 2025.05.31 |
---|---|
데블스플랜2 기사의 여정, 근데 코딩테스트 곁들인.. (0) | 2025.05.29 |
JAVA DP(동적 계획법) (0) | 2025.05.06 |