컴공생의 발자취

[ 99클럽 코테 스터디 2일차 TIL ] 자료형의 크기와 범위 본문

💡 코테/99클럽

[ 99클럽 코테 스터디 2일차 TIL ] 자료형의 크기와 범위

MNY 2024. 3. 29. 23:12
728x90
반응형
💡 오늘의 학습 키워드

- 자료형 범위

 

자료형의 크기와 범위

* 64비트 환경에서 데이터 자료형의 크기와 범위이다.

  자료형 크기 범위
논리형 bool 1 byte ( 8 bit ) 0 ~ 1
void void - -
null
pointer
decltype(nullptr) - -
문자형 char 1 byte ( 8 bit ) -128 ~ 127
정수형 short 2 byte ( 16 bit ) -32,768 ~ 32,767
int 4 byte ( 32 bit ) -2,147,483,648 
~
 2,147,483,647
long 8 byte ( 64 bit ) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
long long 8 byte ( 64 bit ) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
실수형 float 4 byte ( 32 bit ) ±3.4×10^(-37)
~ ±3.4×10^(38)
double 8 byte ( 64 bit ) ±1.7×10^(-307)
~ ±1.7×10^(308)
long double 8 byte ( 64 bit ) ±1.7×10^(-307)
~ ±1.7×10^(308) 이상

 


 

오늘의 회고

문제  : [부족한 금액 계산하기]

  • 어떤 문제가 있었고, 나는 어떤 시도를 했는지

놀이기구 금액이 이용할 때마다 처음 금액의 * 이용횟수가 될 때, 

현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 해주는 문제였다.

단, 금액이 부족하지 않을 경우는 0을 return 한다.

 

count번 탈 경우 놀이기구 금액을 구한 후 놀이기구 금액에서 현재 금액을 뺀 것을 return 해야 하는데

반대로 해버리는 실수가 있었다.

금액이 부족하지 않을 경우는 놀이기구 금액에서 현재 금액을 뺀 값이 0보다 작아야 하는데 이것도 반대로 해버렸다. 그래서 그냥 현재 금액이 놀이기구 금액보다 클 경우를 if 문을 사용하여 0을 return 했다.

마지막 실수는 내야하는 놀이기구 금액은 처음의 놀이기구 금액 * 1 ~ 이용횟수이므로 int의 값을 넘을 것을 예상 못하고 int로 자료형을 준 것이다. 그래서 테스트 케이스를 전부 통과하지 못하는 불상사가 생겼다.

 

  • 어떻게 해결했는지
class Solution {
    public long solution(int price, int money, int count) {
        long answer = -1;
        // 변수 : 놀이기구 금액
        long rides_price = 0;
        
        // count번 탈 경우 놀이기구 금액
        // 놀이기구 금액 = 처음 가격 * 1~count
        for (int i = 1; i <= count; i++) {
            rides_price += price * i;
        }
        // answer = 놀이기구 금액 - 현재 금액
        answer = rides_price - money;
        
        // 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지 return
        // 단, 금액이 부족하지X 0 reutrn (현재 금액이 놀이기구 금액보다 클 경우)
        if (money > rides_price)
            return 0;
        return answer;
    }
}

 

  • 무엇을 새롭게 알았는지

각 자료형의 범위와 크기에 대해 다시 되새길 수 있었다.

또한, 주석과 같이 고민한 것을 적으며 어떤 실수가 있었는지 빠르게 확인 할 수 있었다.

그리고 자잘한 실수를 한다는 걸 깨달았다. 

 

내일 학습할 것은 무엇인지

오늘과 같이 빅분기 자격증 공부와 코딩 테스트를 학습할 것이다.

또한, 기본적인 CS 지식을 다시 볼 것 같다.

 

 

728x90
반응형