본문 바로가기

알고리즘 공부

(207)
[백준 파이썬] #4344: 평균은 넘겠지 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net [정답] C=int(input()) for i in range(C): sum,average,rate,plus=0,0,0,0 score_list=list(input().split()) N=int(score_list[0]) for i in range(1,len(score_list)): sum+=int(score_list[i]) average=sum/N for i in range(1,len(score_list)): if average
[백준 파이썬] #8958: OX 퀴즈 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net [정답] num=int(input()) for i in range(num): string=list(input()) score,sum=0,0 for i in range(len(string)): if(string[i]=='O'): score+=1 sum+=score if(string[i]=='X'): score=0 print(sum)
[백준 파이썬] #2577: 숫자의 개수 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net [정답] A=int(input()) B=int(input()) C=int(input()) sum=list(str(A*B*C)) num_list=[0,0,0,0,0,0,0,0,0,0] for i in sum: num_list[int(i)]+=1 for i in range(len(num_list)): print(num_list[i]) A=int(input()) B=int(input()) C=int(input()) sum=list(str(A*B*C)) pr..
[백준 파이썬] #2588: 곱셈 https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net [정답] (1) 정수형으로 바꿔서 연산 A=int(input()) B=int(input()) a=B//100 b=B//10-a*10 c=B%10 print(A*c) print(A*b) print(A*a) print(A*B) (2) 배열형태로 연산 A=int(input()) B=input() for i in range(3): index=2-i print(int(B[index])*A) print(A*int(B))
[백준 파이썬] #10871: X보다 작은 수 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net [정답] N,X=map(int,input().split()) A=input().split() B=[] for i in range(0,N): if int(A[i])
[백준 파이썬] #2742: 기찍 N https://www.acmicpc.net/problem/2742 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net [정답] num=int(input()) for i in range(num,0,-1): print(i)
[백준 파이썬] #2741: N 찍기 https://www.acmicpc.net/problem/2741 2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net [정답] num=int(input()) for i in range(1,num+1): print(i)
[백준 파이썬] #15552: 빠른 A+B https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net [정답] import sys T=int(input()) for i in range(T): num=sys.stdin.readline().split() A=int(num[0]) B=int(num[1]) print(A+B) sys.stdin.readline() input()보다 sys.stdin.readline()이 값을 반환해주는 속도가 더 빠르다. import sys를 써주어야 sys.stdin.readline()사..