1. 25304 영수증
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 이 주어진다.
이후 개의 줄에는 각 물건의 가격 와 개수 가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.

x = int(input())
n = int(input())
s = 0
for i in range(n):
a, b = map(int, input().split())
s += (a*b)
if s == x:
print('Yes')
else:
print('No')
코드 설명
문제에서 주어진 조건대로 첫 줄에 총 구매금액 x를, 둘째 줄에 구매한 물건 종류의 수 n을 각각 입력받는다. for문에서 사용할 s 또한 0을 할당해서 변수로 지정한다. for문 안에서 변수 s를 생성할 경우 반복문이 실행될 때마다 변수가 새로 만들어진다. a*b의 총합이 아니라 a*b의 가장 마지막 값만 s에 저장되므로 반복문 밖에서 지정해줘야한다. 구매한 물건 종류의 수 n번만큼 반복이 실행되도록 for i in range(n): 을 작성하고 a와 b를 입력받는다. map 함수를 이용해 두 변수를 입력받고 split 메서드로 분할한 다음 int형으로 변환시켰다. 반복문 밖에서 지정한 변수 s에 할당연산자 +=를 사용해 입력받은 a와 b의 곱을 더한다. for문이 n번만큼 반복되며 a, b를 입력받고, a*b가 s에 더해진다. 마지막으로 if 조건문으로 a*b가 n번 더해진 s와 총 구매금액 x가 같으면 Yes를, 다르면 No를 출력하는 조건을 작성한다.
2. 25314번 코딩은 체육과목입니다
문제
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4 바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 12바이트, long long long long int는 16바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
혜아가 N 바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?
입력
첫 번째 줄에는 문제의 정수 N 이 주어진다. (4≤ N ≤1000; N 은 4의 배수)
출력
혜아가 N바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.

n = int(input())
for i in range(n // 4):
print('long', end=' ')
print('int')
코드 설명
입력 조건대로 첫 줄에서 n을 입력받는다. for 반복문을 통해 n을 4로 나눈 값만큼 long과 ' '이 출력되고, 반복문이 종료되면 int가 출력되게 했다. 반복 조건이 간단하기 때문에 for문을 사용하지 않고도 정답 코드를 작성할 수 있다.
print(int(input()) // 4 * 'long ' + 'int')
'코딩 테스트' 카테고리의 다른 글
백준 10818, 2562 파이썬 1차원 배열 풀이 (0) | 2024.04.01 |
---|---|
백준 10807, 10871 파이썬 1차원 배열 풀이 (0) | 2024.03.28 |
백준 10950, 8393 풀이 파이썬 반복문 (0) | 2024.03.21 |
백준 2480 풀이 파이썬 조건문 (0) | 2024.03.19 |
백준 2884, 2525 풀이 파이썬 조건문 (1) | 2024.03.18 |
1. 25304 영수증
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 이 주어진다.
이후 개의 줄에는 각 물건의 가격 와 개수 가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.

x = int(input())
n = int(input())
s = 0
for i in range(n):
a, b = map(int, input().split())
s += (a*b)
if s == x:
print('Yes')
else:
print('No')
코드 설명
문제에서 주어진 조건대로 첫 줄에 총 구매금액 x를, 둘째 줄에 구매한 물건 종류의 수 n을 각각 입력받는다. for문에서 사용할 s 또한 0을 할당해서 변수로 지정한다. for문 안에서 변수 s를 생성할 경우 반복문이 실행될 때마다 변수가 새로 만들어진다. a*b의 총합이 아니라 a*b의 가장 마지막 값만 s에 저장되므로 반복문 밖에서 지정해줘야한다. 구매한 물건 종류의 수 n번만큼 반복이 실행되도록 for i in range(n): 을 작성하고 a와 b를 입력받는다. map 함수를 이용해 두 변수를 입력받고 split 메서드로 분할한 다음 int형으로 변환시켰다. 반복문 밖에서 지정한 변수 s에 할당연산자 +=를 사용해 입력받은 a와 b의 곱을 더한다. for문이 n번만큼 반복되며 a, b를 입력받고, a*b가 s에 더해진다. 마지막으로 if 조건문으로 a*b가 n번 더해진 s와 총 구매금액 x가 같으면 Yes를, 다르면 No를 출력하는 조건을 작성한다.
2. 25314번 코딩은 체육과목입니다
문제
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4 바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 12바이트, long long long long int는 16바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.
혜아가 N 바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?
입력
첫 번째 줄에는 문제의 정수 N 이 주어진다. (4≤ N ≤1000; N 은 4의 배수)
출력
혜아가 N바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.

n = int(input())
for i in range(n // 4):
print('long', end=' ')
print('int')
코드 설명
입력 조건대로 첫 줄에서 n을 입력받는다. for 반복문을 통해 n을 4로 나눈 값만큼 long과 ' '이 출력되고, 반복문이 종료되면 int가 출력되게 했다. 반복 조건이 간단하기 때문에 for문을 사용하지 않고도 정답 코드를 작성할 수 있다.
print(int(input()) // 4 * 'long ' + 'int')
'코딩 테스트' 카테고리의 다른 글
백준 10818, 2562 파이썬 1차원 배열 풀이 (0) | 2024.04.01 |
---|---|
백준 10807, 10871 파이썬 1차원 배열 풀이 (0) | 2024.03.28 |
백준 10950, 8393 풀이 파이썬 반복문 (0) | 2024.03.21 |
백준 2480 풀이 파이썬 조건문 (0) | 2024.03.19 |
백준 2884, 2525 풀이 파이썬 조건문 (1) | 2024.03.18 |