2024. 11. 27. 16:19ㆍ카테고리 없음
문제
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 "45분 일찍 알람 설정하기"이다.
이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 알람 시간 H시 M분을 의미한다.
입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.
출력
첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.)
H, M = map(int, input().split())
if M < 45 : # 분단위가 45분보다 작을 때
if H == 0 : # 0 시이면
H = 23
M += 60
else : # 0시가 아니면 (0시보다 크면)
H -= 1
M += 60
print(H, M-45)
1. 분단위가 45분보다 작냐 크냐 에 따라서 H 가 바뀌기 때문에 첫번째 조건식을 M으로 설정해주어야 함
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
예제 입력 1 복사
5
1 1
2 3
3 4
9 8
5 2
예제 출력 1 복사
2
5
7
17
7
T = int(input())
A, B = map(int, input().split())
for i in T:
print(A+B)
처음 작성 코드
error : typeError
수정 코드
T = int(input())
for _ in range(T):
A, B = map(int, input().split())
print(A+B)
A+B를 반복해서 새로 받아와야 하니 for 안에 들어가야 함
8393번
처음 쓴 코드
n = int(input())
for i in range(n):
print(..)
수정 코드
n = int(input())
ans = 0
for i in range(1, n+1):
ans += i
print(ans)
1. input n 을 받고, 정수 3까지 도달하는 정수를 다 더해줄 변수 ans를 초기화해놓기
2. for문을 이용해서 입력받은 n+1 즉 4까지 i에 1,2,3을 돌리는 반복문 사용
i 1일 때, ans = 0+ 1
i 2일 때 ans = 1+2
i 3일 때 ans = 3 + 3
놓친것 : 더해줄 변수 저장하기
25304번
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 X 가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N 이 주어진다.
이후 N 개의 줄에는 각 물건의 가격 a 와 개수 b 가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.
제한
- 1≤X≤1000000000
- 1≤N≤100
- 1≤a≤1000000
- 1≤b≤10
예제 입력 1 복사
260000
4
20000 5
30000 2
10000 6
5000 8
예제 출력 1 복사
Yes
영수증에 적힌 구매할 물건들의 목록으로 계산한 총 금액은 20000 × 5 + 30000 × 2 + 10000 × 6 + 5000 × 8 = 260000원이다. 이는 영수증에 적힌 총 금액인 260000원과 일치한다.
예제 입력 2 복사
250000
4
20000 5
30000 2
10000 6
5000 8
예제 출력 2 복사
No
초기 코드
x = int(input())
n = int(input())
for i in range(n):
A, B = map(int, input().split())
i = A*B
ans += i
if ans == x :
print("Yes")
elif :
print("No")
정답
x = int(input()) # Total amount
n = int(input()) # Number of items
ans = 0
for i in range(n):
A, B = map(int, input().split()) # Cost per item and quantity
ans += A * B # Add to the total sum
if ans == x:
print("Yes")
else:
print("No")
25314번
오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N 바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”
혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 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 바이트 정수까지 저장할 수 있다고 생각하는 정수 자료형의 이름을 출력하여라.
예제 입력 1 복사
4
예제 출력 1 복사
long int
예제 입력 2 복사
20
예제 출력 2 복사
long long long long long int
노트
출력에서 long과 long, long과 int 사이에는 공백이 하나씩 들어간다.
실제로 C++에서 각 정수 자료형이 저장할 수 있는 수의 크기는 환경에 따라 달라질 수 있다. 덧붙여, 실제로 문제 내용과 같이 long long long int와 같은 자료형을 사용한 코드를 GCC의 C++ 컴파일러를 사용해 컴파일하려고 할 경우 'long long long' is too long for GCC라는 에러 메시지와 함께 컴파일되지 않는다.
초기 나의 답안
n = int(input())
ans = "long"
for i in rang(n):
print(ans*i, " int")
정답
n = int(input()) # 정수 n 입력
ans = "long " # "long " 문자열 정의
for i in range(1, n + 1): # 1부터 n까지 반복
print(ans * i + "int")
그런데 출력오류가 계속 난다.
왤까... 컴퓨터는거짓말을 하지 않는데...