코딩일지/python 백준 알고리즘 81

python 백준 알고리즘 8958번: OX퀴즈

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 O가 연속으로 나올 수록 1점씩 올라가고 X가 나올 시 0점으로 돌아가는 score 생성, score값을 모두 더하는 sum_score 생성, sum_score 출력! 내 제출 test_case = int(input()) for i in range(test_case): ox_list = input() score = 0 # O가 나올수록 점수가 1씩 올라가게 sum_scor..

python 백준 알고리즘 1546번: 평균

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 총 과목수 N, 각 시험 점수를 인풋값으로 받고 최고점수(max())를 이용 (점수/최고점수) x 100로 새로운 점수를 구한 뒤 N으로 나눈 새로운 평균값 출력. 내 제출 N = int(input()) # 총 과목 수 scores = list(map(int,input().split())) # 각 시험 점수 max_score = max(scores) # 최고점수 new_scores = ..

python 백준 알고리즘 3052번: 나머지

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 중복되는 수를 걸러내는 방법에 대해 묻는 문제. 집합 자료형 set이 중복을 허용하지 않는 점을 이용해 손쉽게 풀 수 있었다! 내 제출 num_list = [] for i in range(10) : n = int(input()) num_list.append(n % 42) print(len(set(num_list))) ## 집합 자료형 set을 사용하는것에 대한 문제(중복 필터)

python 백준 알고리즘 2562번: 최댓값

https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 for 반복문을 통해 리스트 작성 (.append() 함수), max를 이용해 최댓값 출력, .index()함수를 이용해 몇 번째 수인지 출력. 내 제출 num_list = [] for i in range(9) : num_list.append(int(input())) ### num_lst 안에 입력된 값들 차례대로 넣기 print(max(num_list)) p..

python 백준 알고리즘 10818번: 최소, 최대

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 최솟값(min), 최댓값(max) 함수를 활용해 쉽게 풀 수 있는 문제였다. 내 제출 cnt = int(input()) numbers = list(map(int,input().split())) print(min(numbers),max(numbers))

python 백준 알고리즘 1110번: 더하기 사이클

https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 주어진 조건을 함수에 적용시켜 출력하는 문제. 처음 주어진 수가 한자리수인 경우를 감안하여 초기 풀이에 활용해 보았으나 시간초과로 오답처리 되어, 주어진 수가 한자리수여도 상관 없는 밑의 식으로 최종답안 작성. 내 제출 N = int(input()) # 주어지는 수 ex)26 num = N cnt = 0 while True: a = num//10 # 2 10의자리 숫자 b = ..

python 백준 알고리즘 10951번: A+B - 4

https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 while문을 그냥 제출한다면 런타임 에러로 오답처리된다. 수가 입력되지 않아서 에러가 발생할 시에 반복문을 끝낼 수 있도록 try - except 구문을 활용. 내 제출 while True: try: A, B = map(int, input().split()) print(A+B) except: break

python 백준 알고리즘 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수를 받고, 길이가 N인 수열 A를 받아서 N번까지 반복문 돌려서 A[i]가 X보다 작은 경우(A[i] < X) 출력. 공백으로 구분하기 위해 end=" " 사용하기! 내 제출 N, X = map(int,input().split()) A = list(map(int,input().split())) for i in range(N): if A[i] < X: print(A[i..

python 백준 알고리즘 2439번: 별 찍기 - 2

https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 별찍기 1번 문제와 동일하지만 별 카운팅이 우측에서부터 시작인 만큼 그만큼의 공백을 추가해줘야한다. 내 제출 stars = int(input()) for i in range(1,stars+1): ### 1부터 star까지 print(' '*((stars)-i) + '*'*i) ### 공백이 star-i만큼, 별이 i만큼