백준 파이썬

이번 포스팅은 www.acmicpc.net/problem/8958에서 푼 것을 토대로 작성했습니다. 1차원 배열의 여섯 번째 문제인 OX 퀴즈입니다. 문제. 테스트 케이스를 받고 OX의 개수를 세어 점수를 매기는 프로그램입니다. 하지만 단순히 O의 개수를 세는 것이 아니라 연속된 O에는 점수를 더 받는 프로그램으로 예를 들어 OXOOO 라면 1+0+1+2+3으로 계산되어야 합니다. 코딩. n = int(input()) for i in range(n): a = list(input()) score = 0 sum = 0 for j in a: if j == 'O': score += 1 else : score = 0 sum = sum + score print(sum) 저는 처음에 문제를 풀 때 지난 문제처럼 빈 ..
이번 포스팅은 www.acmicpc.net/problem/1546에서 푼 것을 토대로 작성했습니다. 1차원 배열의 다섯 번째 문제인 평균입니다. 문제. 문제를 보시면 새로운 평균을 만들게 하는 프로그램입니다. 점수 중 최고점을 M이라 두고 점수/M*100을 하여 새로운 점수를 구하고 새로운 점수로 새로운 평균을 출력으로 나타나게 해야 합니다. 코딩. n = int(input()) score = list((map(int,input().split()))) M = max(score) new_score = [] for i in range(n): new_score.append(score[i]/M*100) new_avg = sum(new_score)/n print("%.2f" %new_avg) 그래서 저는 시험 개..
이번 포스팅은 www.acmicpc.net/problem/3052에서 푼 것을 토대로 작성했습니다. 1차원 배열의 네 번째 문제인 나머지입니다. 문제. 문제를 보시면 숫자 10개를 입력 받고 42를 나눈 나머지를 구한뒤 다른 다른 값이 몇개인지 출력하는 프로그램입니다. 코딩. import sys x = [] for i in range(10): n = int(sys.stdin.readline()) x.append(n%42) x = set(x) print(len(x)) 먼저 x=[] 로 빈 리스트를 만들어 준뒤 for문을 사용하여 n을 10번 입력 받게 만들어주고 저번 문제에서 사용했던 append를 사용하여 n%42 값을 차례대로 추가해 줬습니다. 그리고 set이라는 자료형을 공부했는데 set이란 집합 자..
이번 포스팅은 www.acmicpc.net/problem/2577에서 푼 것을 토대로 작성했습니다. 1차원 배열의 세 번째 문제인 숫자의 개수입니다. 이번 문제는 숫자 세개를 입력하고 곱하여 숫자의 개수를 카운팅 하는 프로그램입니다. 보니까 지니어스 프로그램에서 장동민씨가 결승전에서 풀었던 그 문제였네요 코딩 import sys a = int(sys.stdin.readline()) b = int(sys.stdin.readline()) c = int(sys.stdin.readline()) x = list(str(a*b*c)) for i in range(10): count = x.count(str(i)) print(count) 저는 먼저 숫자 세개를 int로 입력받고 x로 list를 만들면서 str형으로 지..
이번 포스팅은 www.acmicpc.net/problem/2562에서 푼 것을 토대로 작성했습니다. 1차원 배열의 두 번째 문제인 최댓값입니다. 지난번 최대, 최소와는 다르게 이번 문제는 숫자를 9번 입력하고 9개의 숫자에서 최댓값과 몇 번째 숫자인지 나오게 하는 프로그램입니다. 방법 1. import sys Max_n = 0 Max_i = 0 for i in range(9): n = int(sys.stdin.readline()) if n > Max_n: Max_n = n Max_i = i + 1 print(Max_n) print(Max_i) 제가 첫 번째 쓴 방법은 리스트 함수를 쓰지 않고 최댓값과 i의 값을 구하게 만들었습니다. for문을 사용하여 9번 입력하고 n과 Max_n을 비교하여 n이 더 크..
이번 포스팅은 www.acmicpc.net/problem/10818에서 푼 것을 토대로 작성했습니다. 1차원 배열의 첫 번째 문제인 최소, 최대입니다. 문제는 N개의 정수를 받아 최솟값과 최댓값을 구하는 프로그램을 만드는 것입니다. 첫째줄의 정수 N을 설정하고 둘째 줄에는 N개의 정수를 공백으로 입력받게 만들어야 합니다. 출력으로 N개 중에서 최대와 최소를 공백으로 구분하여 출력하게 만들어야 합니다. import sys n = int(sys.stdin.readline()) num = list(map(int, sys.stdin.readline().split())) print(min(num),max(num), end = ' ') ### 다른 방법 print('{} {}'.format(min(num),max(..
이번 포스팅은 www.acmicpc.net/problem/10951에서 푼 것을 토대로 작성했습니다. While문의 두 번째 문제인 A+B -4입니다. 0,0을 입력하면 while문을 빠져나왔던 지난 문제와는 달리 입력을 계속해서 넣으면, 즉 에러가 없으면 프로그램이 계속 동작되게 만드는 문제입니다. import sys while True : try : a,b = map(int, sys.stdin.readline().split()) print(a+b) except : break 그래서 저는 try-except 구문을 사용하였습니다 프로그램 중에는 어떤 것을 입력해야 하는 경우 에러가 발생할 가능성이 있습니다. 구문 오류가 발생할 때 해결 가능한 코드가 try-except입니다. 위와 같은 경우는 int를..
이번 포스팅은 www.acmicpc.net/problem/10952에서 푼 것을 토대로 작성했습니다. While문의 첫 번째 문제인 A+B -5입니다. 문제와 입력을 보시면 띄어쓰기로 A, B를 입력받고 A+B를 출력 나오게 하는 문제이며 A, B에 0,0을 입력했을 때 프로그램이 종료되게 하게 만들어야 합니다. import sys while True: a,b = map(int,sys.stdin.readline().split()) if a == 0 and b == 0: break print(a+b) while문을 무한루프로 돌리기 위해 True를 조건으로 입력하고 a와 b를 띄어쓰기로 입력을 받았습니다. 그리고 if문으로 a와 b가 0일 때 break로 while 무한루프를 벗어나게 만들고 a+b를 출력..
우준세
'백준 파이썬' 태그의 글 목록 (3 Page)