알고리즘/항해99 알고리즘

항해99 5주차 복습 정렬

홍박스 2025. 2. 24. 19:15
728x90

21일차 복습 내용

1. map.getOrDefault

map.getOrDefault(parts[1], 0)

parts[1] 값이 존재하면 해당 값을 가져오고 아니라면 기본값 0을 반환한다.

2. TreeMap

TreeMap<String, Integer> sortedMap = new TreeMap<>(map);

map(예: HashMap<String, Integer> map)을 오름차순 정렬된 TreeMap 으로 변환.

map이 HashMap이면 기본적으로 순서가 없지만, TreeMap에 넣으면 키가 정렬된 상태로 저장됨.

숫자으로 문자유니코드로 정렬

 

*만약 내림 차순 정렬을 하고 싶다면

TreeMap<String, Integer> sortedMap = new TreeMap<>(Collections.reverseOrder());
sortedMap.putAll(map);

 

22일차 복습 내용

1.

map.containsKey(key)

map 에서 인자로 보낸 key 값이 있다면 true 없다면 false


map.containsValue(value) 

map 에서 인자로 보낸 value 값이 있다면 true 없다면 false

 

2. StringBuilder 

String은 불변한다

크기를 변화 시키기 위해서 StringBuilder를 사용

 

- 추가 메소드

/// 문자열을 추가하는 메소드
StringBuilder sb = new StringBuilder();
sb.append("abc");
sb.append(4).append("\n");

/// offset위치에 str추가
sb.insert(int offset, String str);
sb.insert(2, "ccc")

/// 첫번째와 두번째 파라미터로 받는 숫자 인덱스에 위치한 문자열을 대체한다.
sb.replace(int index1, int index2, String str);
sb.replace(3, 6, "hi")

 

- 추출 혹은 삭제 메소드

/// 하나면 해당 인덱스부터 끝까지 인덱싱
/// 두개면? start부터 end-1까지 인덱싱

sb.substring(int start);
sb.substring(int start, int end);

sb.substring(5);
sb.substring(3, 7)

/// 인덱스에 위치한 문자 하나를 삭제
sb.deleteCharAt(int index);
sb.deleteCharAt(3);

/// start 부터 end-1 까지의 문자를 삭제
sb.delete(int start, int end);
sb.delete(3, sb.length());

/// 해당 문자 전체를 뒤집기
sb.reverse();

 

23일차 복습 내용

/// 버터리더 사용
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

/// 하나씩 받기 위해서 토큰 사용
StringTokenizer st = new StringTokenizer(br.readLine());

 

24일차 복습 내용

List<Character> ants = new ArrayList<>();

 

25일차 복습 내용

PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
728x90

'알고리즘 > 항해99 알고리즘' 카테고리의 다른 글

우선순위 큐, 최대 힙, 최소 힙  (0) 2025.03.18
항해99 후기  (0) 2025.02.24
항해99 4주차 복습 힙  (0) 2025.02.24
항해99 3주차 복습 스택/큐  (0) 2025.02.09
항해99 2주차 복습 해시  (0) 2025.01.27