코딩테스트 기록 3일차
CodingTest
코딩테스트 기록 3일차
1. 2902번: KMP는 왜 KMP일까?
문제 이해
주어진 문자열에서 대문자를 찾아 그 대문자들만 이어붙여 새로운 문자열을 만드는 문제입니다.
접근 방식
문자열의 각 문자를 순회하면서 Character.isUpperCase()
메서드를 사용하여 대문자인지 판별했습니다.
대문자일 경우에만 StringBuilder
에 추가하여, 최종적으로 대문자로만 이루어진 문자열을 생성했습니다.
2. 2745번: 진법 변환
문제 이해
N진법으로 표현된 숫자를 10진법으로 변환하는 문제입니다. 여기서 N은 2 이상 36 이하의 정수입니다.
접근 방식
입력받은 N진법의 숫자를 순회하며 각 자리의 수를 10진법으로 변환했습니다. 이 과정에서 알파벳은 10 이상의 수를 나타내므로, 알파벳과 숫자 사이의 변환을 위해 별도의 메서드를 구현했습니다. 최종적으로 변환된 10진법의 숫자를 출력했습니다.
3. 28432번: 끝말잇기
풀이
- 입력 단어 저장
- ?가 들어가는 순서의 앞,뒤 단어 찾기
- 후보단어들중 앞,뒤 단어의 스펠링이 같은경우 찾기
4. 1764번: 듣보잡
재차 확인
HashSet
은 중복 확인이 가능 ArrayList
는 순서가 있는 목록 관리와 정렬가능
5. 1213번: 팰린드롬 만들기
메모
팰린드롬의 성질을 한개의 문자만 홀수이거나, 싹다 짝수여야된다는 점을 필터링한다.
필터링 이후 팰린드롬이 된다라고 판단되면, 홀수번 문자가 있다면 가운데 문자로 따로 저장.
StringBuilder
사용하여 팰린드룸의 절반을 만들어주면 된다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.