항해99를 대비하여 항해99 2주차의 알고리즘 문제를 검색해보니 나왔다.
그래서 각 문제들을 한번씩 풀어보려고 한다.
언어는 파이썬으로 하기로 했다.
출처 : https://leedaeho1188.tistory.com/34
항해 99 2주차 알고리즘 [WIL]
2주차 알고리즘 항해99 2주차는 알고리즘을 공부하는 주간이다. 3주차까지 포함하여 총 2주동안 알고리즘에대해서 전혀 몰랐던 사람도 2주 후에는 코딩테스트 시험을 보고 통과 할 수 있도록 만
leedaeho1188.tistory.com
정리
문제 1. (10869) 사칙연산
https://www.acmicpc.net/problem/10869
10869번: 사칙연산
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
+ ) 나누기 빼고는 int 할 필요 없는데 귀찮아서 짯던 코드 그대로 올림. 통과만 하면 장땡이니까~
if __name__ == "__main__":
a = input().split()
b = int(a[0])
c = int(a[1])
print(int(b+c))
print(int(b-c))
print(int(b*c))
print(int(b/c))
print(int(b%c))
문제 2. (2588) 곱셈
https://www.acmicpc.net/problem/2588
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
if __name__ == "__main__":
a = int(input())
b = input()
print(a * int(b[2]))
print(a * int(b[1]))
print(a * int(b[0]))
print(a * int(b))
문제3. (2884) 알람 시계
https://www.acmicpc.net/problem/2884
2884번: 알람 시계
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,
www.acmicpc.net
상근이 참 힘들게 산다
if __name__ == "__main__":
data = input().split()
h = int(data[0])
m = int(data[1])
if (m >= 45):
m = m - 45
else:
h = h - 1
m = 60 - (45 - m)
if (h == -1):
h = 23
print(h, m)
문제4. (1110) 더하기 사이클
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
이때부터는 귀찮아서 메인함수 안씀!
origin_data = input()
after_data = origin_data
count = 0
while(True):
if (len(after_data) < 2):
x = 0
y = int(after_data[0])
else:
x = int(after_data[0])
y = int(after_data[1])
z = x + y
z = str(z)
if (len(z) >= 2):
z = z[1]
after_data = str(y) + str(z)
count += 1
if (int(after_data) == int(origin_data)):
break
print(count)
문제5. (4344) 평균은 넘겠지
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
# Input Time
num_case = int(input())
data_input = []
for x in range(num_case):
data_input.append(input())
# Run Time
for x in range(num_case):
data = data_input[x].split()
num_students = int(data[0])
num_points = 0
for y in range(1, len(data)):
z = int(data[y])
num_points += z
avg = int(num_points / num_students)
best_students = 0
for y in range(1, len(data)):
z = int(data[y])
if (avg < z):
best_students += 1
percent = best_students / num_students * 100
print(str(format(round(percent, 3), ".3f"))+"%")
휴 오늘은 여기까지...
새로 알게 된 것
round는 반올림 함수.
format은 글자의 포맷을 맞춰준다.
'Algorithm' 카테고리의 다른 글
알고리즘 문제 풀기 - 3 (0) | 2022.04.13 |
---|---|
알고리즘 문제 풀기 - 2 (0) | 2022.04.12 |