본문 바로가기
코테정복💫/파이썬 PYTHON

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

by 옹쑥이 2023. 7. 31.

문제

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

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

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

입력

첫 번째 줄에는 문제의 정수 이 주어진다. (4≤N≤1000;  4의 배수)

출력

혜아가 바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.

노트

출력에서 long long, long int 사이에는 공백이 하나씩 들어간다.

실제로 C++에서 각 정수 자료형이 저장할 수 있는 수의 크기는 환경에 따라 달라질 수 있다. 덧붙여, 실제로 문제 내용과 같이 long long long int와 같은 자료형을 사용한 코드를 GCC의 C++ 컴파일러를 사용해 컴파일하려고 할 경우 'long long long' is too long for GCC라는 에러 메시지와 함께 컴파일되지 않는다.


풀이

[format]

n = int(input())

for i in range(1, n+1):
    name = "long " * (i//4)
print(f"{name}int")

 

[출력문 옵션]

n = int(input())

for i in range(n//4):
    print("long", end=" ")
print("int")

 

 

참고🐣

[출력문 옵션]

sep = " "

: 출력문들 사이에 해당하는 내용을 넣을 수 있음.

  기본 값으로는 공백이 들어가 있으며 이를 사용해 원하는 문자를 입력할 수 있음.

end = " "

: 출력을 완료한 뒤의 내용을 수정할 수 있음.

  기본 값으로는 개행(\n)이 들어가 있으며 이를 사용해 개행을 없애거나 원하는 문자를 입력할 수 있음.

 

세부 내용 : https://dojang.io/mod/page/view.php?id=1224 

 

COS Pro 2급 파이썬: 9.2 줄바꿈 활용하기

이번에는 줄바꿈(개행)을 활용해보겠습니다. 먼저 다음과 같이 print에 값을 여러 개 지정하면 한 줄에 모든 값이 출력됩니다. 그럼 print 한 번으로 값을 여러 줄에 출력할 수는 없을까요? 방법은

dojang.io

 

[번외]

처음 작성했을 때, 출력 초과가 또!!! 나왔다.

원인은,,, 들여쓰기,,, 주의하자 ( ∙̆.̯∙̆)

기존코드는 하단과 같습니다

n = int(input())

for i in range(1, n+1):
    name = "long " * (i//4)
    print(f"{name}int")

 

문제 출처

https://www.acmicpc.net/problem/25314

 

25314번: 코딩은 체육과목 입니다

오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++

www.acmicpc.net