Notice
Recent Posts
Recent Comments
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

개발지식 먹는 하마 님의 블로그

[내일배움캠프 8일차] _ 탐욕법, 계산기 GUI 본문

내일배움캠프 (CS25)

[내일배움캠프 8일차] _ 탐욕법, 계산기 GUI

devhippo 2025. 2. 26. 17:55

그리디 알고리즘(탐욕법) 문제를 하나 풀이했다.

프로젝트를 GUI에서 구현하고 level2 수준의 구현을 50% 정도 완료했다.


📚 학습 내용 정리

  • 탐욕법 

https://devhippo.tistory.com/72

 

13305번 - 주유소

✏️ 문제 풀이long 사용입력받는 변수는 1,000,000,000이기 때문에 정수형 사용이 가능하다.그러나, 최대값이 1,000,000,000인 두 변수를 연산하기 때문에 그 결과는int의 표현 범위를 벗어날 수 있다.

devhippo.tistory.com

 

계산기 GUI 구현

Level 2에서 필요하지 않은 버튼은 잠시 비활성화 해두었다.

연산기호가 먼저 입력될 경우 앞에 0이 입력되도록 설정했다.
또한, 연산기호가 연속으로 2개 입력되지 않도록 해주었다.

public String checkInput(String input, String operator) {

        if(input.isEmpty()){ //연산기호가 가장 먼저 입력되면 0을 먼저 넣어주기
            return "0" + operator;
        }
        else{ //연산기호가 연속으로 입력되지 않도록 하기
            char lastChar = input.charAt(input.length() - 1);
            if(lastChar == '+' || lastChar == '-' || lastChar == '×' || lastChar == '÷'){
                return input;
            }
            else{
                return input + operator;
            }
        }
}

 학습하며 겪었던 문제점

터미널을 사용한 Git 순서를 잘못했더니 뭔가 단단히 꼬였다.

level2의 변경 내용을 dev 브랜치에 병합한 후, 
이를 level2의 깃허브 repository에 반영하지 않은 채, 그냥 변경을 진행해서 그런 것 같다...

해결이 안될 것 같으면 dev에 저장되어 있으니 그냥 level2 브랜치를 삭제할 계획이다.


⭐ 내일 학습할 것

1. 프로젝트 Level1 구현 결과 튜터님께 피드백 받기
    오전에 갔을 때는 응답이 없으셨고
    그 후엔 프로젝트 하다가 타이밍을 놓쳤다.

2. Level 2 수준 구현 완료하기

3. 코딩 테스트 문제 풀기