반응형
내 풀이
long int -> 4바이트 long long int -> 8바이트
나눗셈을 사용하는 반복문을 사용해야겠다.
# 받아주는 값
A = int(input())
# long 갯수 구하기
count = A // 4
# long 구하기
result = count * "long "
#결과
print(f"{result}int")
결과: 정답
더 옳은 정답
n = int(input())
print("long " * (n//4 - 1) + "long int")
더 간결하고 가독성있게 하는 방법은 위와 같은 방법이다. 항상 가독성, 간결성을 생각하도록 하자
고찰
실제로 위와 같은 질문을 면접에서 하면 어떻게 반응해야할까?
C++에서 정수 자료형의 크기는 다음과 같이 처리된다:
4바이트가 필요한 경우: long int
8바이트가 필요한 경우: long long int
8바이트 이상의 경우: 표준 C++에서는 직접적으로 지원하지 않는다. 대신:
- 큰 정수 라이브러리 사용 (예: boost::multiprecision)
- 문자열로 처리
- 직접 큰 수 클래스 구현
- vector<int>를 사용한 배열 형태로 처리
실제로 'long long long int'와 같은 문법은 C++에서 컴파일되지 않는다. 대신 8바이트보다 큰 정수를 다뤄야 할 경우, 상황에 따라 적절한 대체 방법을 선택해야 한다.
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
코딩테스트 9일차(2025.01.23) - 11021번(A+B - 7) (0) | 2025.01.23 |
---|---|
코딩테스트 8일차(2025.01.22) - 15552번(빠른 A+B) (0) | 2025.01.22 |
코딩테스트 8일차(2025.01.22) - 25304번(영수증) (0) | 2025.01.22 |
코딩테스트 8일차(2025.01.22) - 8393번(합) (0) | 2025.01.22 |
코딩테스트 8일차(2025.01.22) - 10950번(A+B - 3) (0) | 2025.01.22 |