---
# System prepended metadata

title: 과제(240328)
tags: [과외(기태)]

---

## 과제_1 : 삽입정렬 (Insertion Sort) 구현하기

목표 : 삽입정렬 알고리즘을 이해하고, 직접 구현해본다.

요구사항 : 강의자료를 참고하여 삽입정렬을 구현한다

## 과제_2 : 문자열 내 마음대로 정렬하기

목표 : 프로그래머스 문제를 풀어보며 정렬 알고리즘을 활용해본다.

요구사항 : 프로그래머스에서 다음 문제를 풀어본다 [https://school.programmers.co.kr/learn/courses/30/lessons/12915](https://school.programmers.co.kr/learn/courses/30/lessons/12915)

---

## 과제_2 : 문자열 내 마음대로 정렬하기 모범답안

```java
class Solution {
    public String[] solution(String[] strings, int n) {
        for (int i = 0; i < strings.length - 1; i++) {
            for (int j = i + 1; j < strings.length; j++) {
                if (strings[i].charAt(n) > strings[j].charAt(n) || 
                    (strings[i].charAt(n) == strings[j].charAt(n) && strings[i].compareTo(strings[j]) > 0)) {
                    // Swap
                    String temp = strings[i];
                    strings[i] = strings[j];
                    strings[j] = temp;
                }
            }
        }
        return strings;
    }
}
```
