본문 바로가기
Coding Test (코딩 테스트)

코딩테스트 8일차(2025.01.22) - 25314번(코딩은 체육과목 입니다)

by BioLearner 2025. 1. 22.
반응형

내 풀이

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++에서는 직접적으로 지원하지 않는다. 대신:

  1. 큰 정수 라이브러리 사용 (예: boost::multiprecision)
  2. 문자열로 처리
  3. 직접 큰 수 클래스 구현
  4. vector<int>를 사용한 배열 형태로 처리

실제로 'long long long int'와 같은 문법은 C++에서 컴파일되지 않는다. 대신 8바이트보다 큰 정수를 다뤄야 할 경우, 상황에 따라 적절한 대체 방법을 선택해야 한다. 

반응형