본문 바로가기

알고리즘/백준 - 파이썬71

백준) 4344번 평균은 넘겠지 문제 (파이썬) 문제) 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. X = [] for a in range(int(input())): X.append(list(map(int,input().split()))) for a in X: avg = sum(a[1:]) / a[0] cnt = 0 for score in a[1:]: if score > avg: cnt += 1 rate = cnt/a[0] * 100 p.. 2022. 5. 30.
백준) 8958번 OX퀴즈 문제 (파이썬) 문제) "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. a = int(input()) X = [] for i in range(a): X.append(str(input())) for j in X: add = 1 point = 1 score = 0 for z in j: if z == 'O': score += add point += 1 add = point else: point .. 2022. 5. 30.
백준) 1546번 평균 문제 (파이썬) 문제) 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. a = int(input()) b = list(map(int,input().split())) # list를 넣어 값을 변환하면 max값을 구할 수 있다. print((sum(b) / max(b) * 100) / a) 이번 문제는 a를 입력하고, b를 list를 입력한다. 이 후 b의 .. 2022. 5. 30.
백준) 3052번 나머지 문제 (파이썬) 문제) 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. X = [] Y = [] # 수를 넣을 공간 for i in range(10): a = int(input()) X.append(a % 42) # append 함수: 새로운 값을 넣는 기능 for i in X: if i not in Y: # 서로 다른 값일 때 넣는다. Y.append(i) print(len(Y)) # 문자열의 길이 출력 이번 문제는 입력된 값에 42를 나누고, 나머지를 구하는 문제로서 리스트 2.. 2022. 5. 30.
백준) 2577번 숫자의 개수 문제 (파이썬) 문제) 세 개의 자연수 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()) result = str(A * B * C) for i in range(0,10): print(result.count(str(i))) 이 문제는 일단 변수 3개를 선언하고 곱한 값을 str로 변환하였다. int로 유지하면 숫.. 2022. 5. 28.
백준) 2562번 최댓값 문제 (파이썬) 문제) 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. list = [] # 숫자를 넣는 공간 for i in range(9): list.append(int(input())) # 숫자를 입력 숫자를 넣음 print(max(list)) print(list.index(max(list))+1) 이번 문제는 list = []를 선언하였고, for 문을 통해 9번을 반복할 것이다. list.append을 통해 입력된 수를 list안에 넣고, print(max(list))통해 최.. 2022. 5. 27.
728x90