BOJ 185

백준 2747번 피보나치 수 파이썬

https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net x = 0 y = 1 z = int(input()) for i in range(z): x ,y = y , x+y print(x) 초기값 0 ,1 을 배정해놓고 반복문을 통해 수열을 만들었다.

BOJ/Python 2021.10.29

백준 1264번 모음의 개수 파이썬

https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net while True: x = input() y = 0 if x[0] == '#' and len(x) == 1: break else: x_lower = [] for i in x: x_lower.append(i.lower()) for j in 'aeiou': y += x_lower.count(j) print(y) #이 나오기 전까지 루프를 시켰고, 모든 문장을 for 문으로 소문..

BOJ/Python 2021.10.28

백준 10845번 큐 파이썬

https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys queue = [] for i in range(int(sys.stdin.readline())): x = sys.stdin.readline().split() if x[0] == 'push': x[1] = int(x[1]) queue.append(x[1]) elif x[0] == 'pop': if len(queue) > 0: print(queue[0]) del(qu..

BOJ/Python 2021.10.27

백준 23080번 스키테일 암호 파이썬

https://www.acmicpc.net/problem/23080 23080번: 스키테일 암호 첫 번째 줄에 막대의 굵기 \(K\)가 주어진다. 두 번째 줄에 알파벳 소문자만으로 구성된 암호문 \(S\)가 주어진다. www.acmicpc.net n = 0 x = int(input()) y = input() while n < len(y): print(y[n],end='') n += x 문제가 참 길었지만 간단하게 해결할 수 있는 문제였다. 반복문을 통해 첫 번째 줄에 입력한 정수만큼 두 번째 줄 문자열의 단어 하나하나씩 띄엄띄엄 출력하면 되는 것이다. ( y[0] y[3] y[6] y[9] ..) 하나하나 출력할 때마다 인덱싱이 수가 늘어나는데, 문자열 길이(len(y)) 보다 인덱싱 숫자(n)가 더 커..

BOJ/Python 2021.10.26

백준 10828번 스택 파이썬

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys stack = [] for i in range(int(sys.stdin.readline())): x = sys.stdin.readline().split() if x[0] == 'push': x[1] = int(x[1]) stack.append(x[1]) elif x[0] == 'pop': if len(stack) > 0: print(stack.pop()) el..

BOJ/Python 2021.10.26

백준 4344번 평균은 넘겠지 파이썬

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net for i in range(int(input())): count = 0 x = list(map(int, input().split())) avg = (sum(x) - x[0]) / (len(x)-1) for i in range(1, len(x)): if x[i] > avg: count += 1 print('%.3f'%((count/(len(x)-1))*100) +'%') 리스트를 활용하여 평균 초과의 학생의 비율을 계산했고 , 마지막에는 fstring 포맷팅을 활용하여 출력 ..

BOJ/Python 2021.10.20

백준 3052번 나머지 파이썬

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net dt = 42 # default list1 = [] for i in range(10): x = int(input()) list1.append(x%dt) print(len(set(list1))) 문제에서 나누는 수를 42로 고정을 해서 변수에 저장해 놓고 , 나머지들을 리스트에 넣고 튜플로 만들어서 계산을 하였다.

BOJ/Python 2021.10.20

백준 8958번 OX퀴즈 파이썬

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net x = int(input()) for i in range(x): y = input() cnt = 0 f = 1 for j in range(len(y)): if y[j] == 'O': cnt += f f += 1 else: f = 1 print(cnt) O가 계속 나올시 f에 저장된 수가 1씩 증가하는 코드를 짰고 , 반면 X가 나올시 (else) f = 1로 초기화 하여 계산하..

BOJ/Python 2021.10.17
반응형
목차(index)