1. LeetCode 문제 풀이
[Dart] 169. Majority Element
1. 문제https://leetcode.com/problems/majority-element/description/?envType=study-plan-v2&envId=top-interview-150 2. 요구사항1) 주어진 배열에서 majority element를 찾는 문제이다.2) majority element는 배열의 원소 중 절반
sfida.tistory.com
2. 피드백 수정
지난 과제인 콘솔 RPG Game의 피드백을 받고 코드를 수정했다.
먼저 아이템을 사용하는 코드를 수정했다.
아이템을 사용하기 위해 int 변수를 사용하여
1은 아이템을 사용하지 않은 상태,
2는 아이템을 사용했으나 공격하지 않은 상태
3은 사용한 후, 공격까지 한 상태로 나눠서 구현했었다.
하지만 굳이 이렇게 할 필요 없이 usedItem이라는 bool 변수를 선언하고,
2배로 증가된 공격력을 원래대로 되돌려놓기 위해 originAttack이라는 변수를 선언하여 다시 구현하였다.
또한, Game클래스의 startGame 메서드는 너무 많은 책임을 가지고 있는 것 같아 이 메서드도 분리했다.
게임 안내 메세지와 캐릭터의 상태를 표시하고, 30% 확률로 캐릭터의 체력을 회복하는 initializeGame 메서드와,
몬스터 안내 메세지와 몬스터의 상태를 표시하고, 몬스터의 공격력을 랜덤으로 정하는 readyToBattle 메서드,
사용자의 입력을 받아 게임의 결과를 저장하는 handleGameEnd 메서드로 분리하였다.
3. 기차 예매 서비스 앱
- 홈 화면 일부 구현
- Flutter 위젯 학습
4. 성장 일기
이번에 LeetCode에서 Boyer-Moore 알고리즘을 처음 접했다.
이는 배열 중 과반수 이상 포함된 원소를 찾는 알고리즘이다.
이런 알고리즘이 있는지 몰랐는데 하나씩 알고리즘을 학습해 가는 것이 재미있는 것 같다.
이와 비슷한 문제가 나오면 이 알고리즘을 적용해서 풀어보고 싶다.
지난 과제인 RPG Game 프로젝트의 피드백을 받았다.
처음 과제를 접했을 땐 막막햇지만,
파일과 클래스를 분리하고 기능을 작은 단위로 쪼개면서 점차 완성되고, 마지막으로 피드백도 받으니 뿌듯했다.
코드가 어떤 방향으로 나아가면 좋을지에 대한 피드백을 해주셨고,
이러한 피드백에 맞춰 수정해가면서 점점 성장해가는 것을 느꼈다.
추가로 파일 트리를 만드는 팁이나 트러블 슈팅, README 구조에 대해서도 피드백 해주셔서 이도 수정할 생각이다.
마지막으로 Flutter 앱을 직접 만드는 실습을 했는데 주어진 요구사항대로 UI를 구현하는 것은 아직 쉬운 일이 아닌 것 같다.
플러터 위젯이 제대로 정리되지 않아 뒤죽박죽 섞여있는 느낌을 받았다.
과제 마감일까지 아직 시간이 남아 주말에도 Flutter 위젯에 대해 공부할 계획이다.
'TIL' 카테고리의 다른 글
[TIL] 250331 LeetCode 문제풀이, 개인 과제 필수 구현 완성 (0) | 2025.03.31 |
---|---|
[TIL] LeetCode 문제 풀이, 개인 과제(기차 예매 서비스) (0) | 2025.03.28 |
[TIL] 250326 LeetCode 문제 풀이, StatefulWidget, StatelessWidget, 개인 과제 피드백 (0) | 2025.03.26 |
[TIL] 250321 LeetCode 풀이, 개인 과제 제출, 트러블 슈팅 (0) | 2025.03.21 |
[TIL] RPG 콘솔 게임 트러블 슈팅 (0) | 2025.03.21 |
1. LeetCode 문제 풀이
[Dart] 169. Majority Element
1. 문제https://leetcode.com/problems/majority-element/description/?envType=study-plan-v2&envId=top-interview-150 2. 요구사항1) 주어진 배열에서 majority element를 찾는 문제이다.2) majority element는 배열의 원소 중 절반
sfida.tistory.com
2. 피드백 수정
지난 과제인 콘솔 RPG Game의 피드백을 받고 코드를 수정했다.
먼저 아이템을 사용하는 코드를 수정했다.
아이템을 사용하기 위해 int 변수를 사용하여
1은 아이템을 사용하지 않은 상태,
2는 아이템을 사용했으나 공격하지 않은 상태
3은 사용한 후, 공격까지 한 상태로 나눠서 구현했었다.
하지만 굳이 이렇게 할 필요 없이 usedItem이라는 bool 변수를 선언하고,
2배로 증가된 공격력을 원래대로 되돌려놓기 위해 originAttack이라는 변수를 선언하여 다시 구현하였다.
또한, Game클래스의 startGame 메서드는 너무 많은 책임을 가지고 있는 것 같아 이 메서드도 분리했다.
게임 안내 메세지와 캐릭터의 상태를 표시하고, 30% 확률로 캐릭터의 체력을 회복하는 initializeGame 메서드와,
몬스터 안내 메세지와 몬스터의 상태를 표시하고, 몬스터의 공격력을 랜덤으로 정하는 readyToBattle 메서드,
사용자의 입력을 받아 게임의 결과를 저장하는 handleGameEnd 메서드로 분리하였다.
3. 기차 예매 서비스 앱
- 홈 화면 일부 구현
- Flutter 위젯 학습
4. 성장 일기
이번에 LeetCode에서 Boyer-Moore 알고리즘을 처음 접했다.
이는 배열 중 과반수 이상 포함된 원소를 찾는 알고리즘이다.
이런 알고리즘이 있는지 몰랐는데 하나씩 알고리즘을 학습해 가는 것이 재미있는 것 같다.
이와 비슷한 문제가 나오면 이 알고리즘을 적용해서 풀어보고 싶다.
지난 과제인 RPG Game 프로젝트의 피드백을 받았다.
처음 과제를 접했을 땐 막막햇지만,
파일과 클래스를 분리하고 기능을 작은 단위로 쪼개면서 점차 완성되고, 마지막으로 피드백도 받으니 뿌듯했다.
코드가 어떤 방향으로 나아가면 좋을지에 대한 피드백을 해주셨고,
이러한 피드백에 맞춰 수정해가면서 점점 성장해가는 것을 느꼈다.
추가로 파일 트리를 만드는 팁이나 트러블 슈팅, README 구조에 대해서도 피드백 해주셔서 이도 수정할 생각이다.
마지막으로 Flutter 앱을 직접 만드는 실습을 했는데 주어진 요구사항대로 UI를 구현하는 것은 아직 쉬운 일이 아닌 것 같다.
플러터 위젯이 제대로 정리되지 않아 뒤죽박죽 섞여있는 느낌을 받았다.
과제 마감일까지 아직 시간이 남아 주말에도 Flutter 위젯에 대해 공부할 계획이다.
'TIL' 카테고리의 다른 글
[TIL] 250331 LeetCode 문제풀이, 개인 과제 필수 구현 완성 (0) | 2025.03.31 |
---|---|
[TIL] LeetCode 문제 풀이, 개인 과제(기차 예매 서비스) (0) | 2025.03.28 |
[TIL] 250326 LeetCode 문제 풀이, StatefulWidget, StatelessWidget, 개인 과제 피드백 (0) | 2025.03.26 |
[TIL] 250321 LeetCode 풀이, 개인 과제 제출, 트러블 슈팅 (0) | 2025.03.21 |
[TIL] RPG 콘솔 게임 트러블 슈팅 (0) | 2025.03.21 |