반응형
오늘의 학습 키워드
- 문자열
- HashMap
문제 탐색하기
문제
문제 풀이 설계하기
주어진 s 문자열을 길이가 10인 문자열로 잘라서 새로운 문자열을 만들었을 때, 그 문자열이 2번 이상 나올 경우 문자열들을 출력하면 되는 문제입니다.
따라서 주어진 s를 for문을 돌면서 길이가 10가 되도록 substring을 사용해서 잘라줬고 그 문자열을 hashmap에 저장해주었습니다. 문자열을 키로 그리고 mapOrDefault 메소드를 사용해서 key 값이 처음일 경우는 value가 1, key값이 존재할 경우는 value 에 + 1 해주면서 세팅해주었습니다.
코드
class Solution {
public List<String> findRepeatedDnaSequences(String s) {
HashMap<String, Integer> map = new HashMap<>();
for(int i=0; i<=s.length()-10; i++){
String str = s.substring(i, i+10);
map.put(str, map.getOrDefault(str, 0) + 1);
}
ArrayList<String> arr = new ArrayList<>();
for(String str : map.keySet()){
if(map.get(str) > 1){
arr.add(str);
}
}
return arr;
}
}
오늘의 회고
Hashmap을 통해서 쉽게 풀 수 있는 문제였습니다.
반응형
'TIL(Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 13일차 TIL + 백준 1181 (단어 정렬, java) (0) | 2025.04.16 |
---|---|
99클럽 코테 스터디 12일차 TIL + 백준 25757 (임스와 함께하는 미니게임, java) (0) | 2025.04.15 |
99클럽 코테 스터디 10일차 TIL + 백준 2358 (평행선, java) (0) | 2025.04.12 |
99클럽 코테 스터디 9일차 TIL + 동시성이슈 (0) | 2025.04.10 |
99클럽 코테 스터디 8일차 TIL + LeetCode 2283 (Check if Number Has Equal Digit Count and Digit Value, java) (0) | 2025.04.09 |