오늘의 알고리즘 오류 상황
오늘은 오류 상황이라기 보다는 알고리즘 공부에 굉장히 좋다고 생각한 문제를 가져와봤다.
[정수 내림차순으로 배치하기]
문제 : 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
for (int i = 0; i < arr.Length; i++)
{
for (int j = i; j < arr.Length; j++)
{
if (arr[i] < arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
코드 중간에 저번에 배웠던 선택 정렬이 쓰이는 모습을 볼 수 있다.
https://sicilian-najdorf.tistory.com/13
그리고 마지막에, 배열을 정수로 어떻게 변환해야 할까 고민하다가,
빈 배열을 만들고, 반복문으로 앞 인덱스부터 더하면 굉장히 쉽다는 사실을 깨달았다.
string answer = "";
for (int i = 0; i < arr.Length; i++)
{
answer += arr[i];
}
return long.Parse(answer);
그렇게 해서 해결한 전체 코드다.
public class Solution
{
public long solution(long n)
{
string input = n.ToString();
int[] arr = new int[input.Length];
for (int i = 0; i < input.Length; i++)
{
arr[i] = int.Parse(input[i].ToString());
}
for (int i = 0; i < arr.Length; i++)
{
for (int j = i; j < arr.Length; j++)
{
if (arr[i] < arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
string answer = "";
for (int i = 0; i < arr.Length; i++)
{
answer += arr[i];
}
return long.Parse(answer);
}
}
팀 프로젝트 진행 상황
오늘은 프로젝트 마감일이라,
개인적으로, 그리고 전체 팀에서 작업한 결과물이 상당했다.
(오늘 하루 커밋만 거의 200개)
이 모든 작업을 단순 나열해도 내용이 꽤 되기 때문에,
간단히 내가 구현한 기능을 남겨보려고 한다.
- ItemManager에서 인벤토리 관련 정보 저장하기 추가
- 같은 타입의 아이템에 대해서 중복 착용 제한 기능 추가
- ItemManager <-> Player 클래스 간 통신 원활하게 개선
- Map에서 저장 후 종료 추가
- 아이템 목록 개선 및 추가
- ItemManager 필요없는 메서드 및 변수 제거
Github 링크:
https://github.com/minsooBak/TextRPG
시연 영상
느낀 점
마감일이라 어느정도 촉박한 마음에 더 열심히 한 것도 사실이지만,
정말 프로젝트 하나를 완성하기 위해 협업을 하는게
보람차면서도 에너지 소모가 큰 일임을 느꼈다.
정말 신기한 건, 처음엔 서로 서먹서먹해서 질문도 자주 안 했지만,
오늘쯤 되니 서로 협업을 위한 질문과 소통이 상당히 늘었다는 것을 느끼게 되었다.
그리고 끝내 완성된 결과물이 정말 깔끔하게 나와서
모두 각자 맡은 역할에 충실하게 했다는 것을 느끼게 되었다.
내가 개인적으로 아쉬운 건...
제출을 하고 나니 아이템 리스트 출력을
깔끔하게 정렬할 생각을 왜 못했나 후회가 되긴 한다.
하루가 지날 수록 협업으로 얻어가는 것이 상당하다는 생각이 든다.
'TIL(Today I Learned)' 카테고리의 다른 글
Unity 입문하기, 세팅과 기본 조작 - TIL#19 (0) | 2024.01.18 |
---|---|
텍스트 RPG 게임 : 팀 프로젝트 발표 - TIL#18 (0) | 2024.01.17 |
텍스트 RPG 게임 : 상점, 인벤토리에 기능 추가 - TIL#16 (0) | 2024.01.15 |
텍스트 RPG 게임 : 기능 구현과 디버깅 - TIL#15 (0) | 2024.01.12 |
텍스트 RPG 게임 : ItemManger 나머지 기능 구현하기 - TIL#14 (0) | 2024.01.11 |