카테고리 없음

[부트캠프] TIL 21일차 (10/23)

hahahabbb 2024. 10. 23. 20:22

1. 학습 목표

 1) 숫자 야구 필수 기능 구현

 

2. 학습 내용

 1) 실습 환경 : IntelliJ

 2) 학습 진행 내용 : 숫자 야구 구현 ( LV1 진행 ) - 랜덤 값 설정, 동일 값 예외처리, 스트라이크/볼/아웃 구현, 반복, 출력 등

 (1) 이슈 사항

기존에는 테스트 데이터로 세 자리 수를 입력 받을 때 세자리를 한 번에 받는 게 아니라 for문을 돌려 각각 받도록 구현했었습니다. 이 부분이 개선이 필요한 것 같아 input값을 세자리 숫자로 입력 받고, for문으로 각 자리의 숫자를 배열에 넣도록 다음과 같이 변경하였습니다.

int input = sc.nextInt();
for (int i=DIGITS-1;i>=0;i--){
    record[i] = input%10;
    input /= 10;
}

 3) 알고리즘 진행 내용 : 프로그래머스 정수 내림차순으로 정렬하기

1) 다음과 같이 구현했더니 런타임 에러남. 그 상태로 시간이 많이 흘러서 내일 다시 진행해볼 예정.

import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

class Solution {
        public long solution(long n) {
            List<Long> list = new ArrayList<>();
            long answer = 0, tmp = 1;
            String str ="";
            while (n != 0){
                tmp = n % 10;
                list.add(tmp);
                n /= 10;
            }
            list.sort(Collections.reverseOrder());
            for (long l : list) {
                str = str + String.valueOf(l);

            }
            return Integer.valueOf(str);
        }
}

 

3. 다음 학습 내용

1) 개인 과제 숫자 야구 필수 과제 마무리

2) 개인 과제 도전 과제 할 수 있으면 시도해보기

 

4. 회고

일단 테스트 하기 전에 정답값도 처음에 출력해 놓고 맞게 나오는지 확인하면서 하고 있는데 생각보다 그거 확인하는 과정 쉽지 않았습니다. 당분간은 숫자 야구 ptsd 오는 게 아닌가..하하 그리고 계산기와는 달리 상속 관계가 애매한 같아서 그 점도 좀 고민입니다. 요새 뭔가 너무 많은 걸 하려다 보니 더 과부하가 오는 듯합니다. 아무래도 프로그래밍은 원하는 시간 안에 끝내기 어려워 자꾸 일정이 밀리고 더불어 의욕이 점점 떨어지는 것 같아 욕심을 버리고 계획을 좀 줄여보려 합니다. 최대한 실천 가능한 정도만!