N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
# 1. min, max 내장함수 사용
n = int(input())
mylist = list(map(int, input().split()))
print(min(mylist), max(mylist))
#2. min, max 안 쓴 버전
n = int(input())
mylist = list(map(int, input().split()))
minnum = mylist[0]
maxnum = mylist[0]
for i in range(len(mylist)):
if mylist[i] < minnum:
minnum = mylist[i]
if mylist[i] > maxnum:
maxnum = mylist[i]
print(minnum, maxnum)
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
# 1. 처음 생각한 코드
mylist = [int(input()) for i in range(9)]
maxnum = max(mylist)
idx = 1
for i in mylist:
if i == maxnum:
print(maxnum)
print(idx)
idx += 1
# 2. index 써서 더 간단히 !
mylist = [int(input()) for i in range(9)]
maxnum = max(mylist)
print(maxnum)
print(mylist.index(maxnum) + 1)
세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.
예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.
a = int(input())
b = int(input())
c = int(input())
x = list(str(a*b*c))
for i in range(10):
print(x.count(str(i)))
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
mylist = [int(input()) for _ in range(10)]
value = [i%42 for i in mylist]
print(len(set(value)))
=> 리스트를 집합(set)으로 바꿔주면 중복이 제거되고 unique한 값만 남는다 !
세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.
세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.
n = int(input())
score = list(map(int, input().split()))
maxscore = max(score)
newscore = [i / maxscore*100 for i in score]
newmean = sum(newscore) / n
print(newmean)
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
#8958
n = int(input())
for _ in range(n):
li = list(input())
score, final_score = 0, 0
for i in li:
if i == 'O':
score += 1
final_score += score
elif i == 'X':
score = 0
print(final_score)
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
n = int(input())
for i in range(n):
li = list(map(int, input().split()))
avg = sum(li[1:]) / li[0]
count = 0
for score in li[1:]:
if score > avg:
count += 1
print("{:.3f}%".format(count / li[0] * 100))