[백준] 25314번 코딩은 체육과목입니다 / Python

이희령·2024년 3월 25일
0

알고리즘

목록 보기
8/20

문제

오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이
NN바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”

혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int44바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int88바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “ int 앞에 long을 하나씩 더 붙일 때마다 44바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int1212바이트, long long long long int1616바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.

혜아가 NN바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?


입출력 예

입력출력
4long int
20long long long long long int

나의 풀이

n = int(input())

byte = n // 4
how_long = ""

for i in range(1, byte + 1):
    if i == byte: 
        how_long += "long"
        break
    how_long += "long "

print(how_long, "int")
  • 범위 내 마지막 요소인 경우에는 if문을 사용해서 띄어쓰기를 추가하지 않도록 했다.

다른 사람의 풀이

n = int(input())
answer = 'int'
for i in range(n//4):
    answer = 'long ' + answer
print(answer)

n = int(input())

for _ in range(n//4):
    print("long", end=" ")
    
print("int")
profile
Small Steps make a Big Difference.🚶🏻‍♀️

0개의 댓글