전체 글 270

백준 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

백준 2577번 숫자의 개수 파이썬

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net z = int(input())*int(input())*int(input()) for i in range(10): print(str(z).count(str(i))) 첫줄 z = int(input())*int(input())*int(input()) 이부분은 어찌저찌 해보다 된 코드인데 역시 파이썬은 다양하게 써도 컴퓨터가 알아먹는다.

BOJ/Python 2021.10.17

백준 11816번 8진수, 10진수, 16진수 파이썬

https://www.acmicpc.net/problem/11816 11816번: 8진수, 10진수, 16진수 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. www.acmicpc.net x = input() if x[0] == '0' and x[1] == 'x': print(int(x, 16)) elif x[0] == '0' and (x[1] != 'x'): print(int(x, 8)) else: print(int(x)) 파이썬 기본 문법을 이용하면 간단하게 나타낼 수 있다.

BOJ/Python 2021.10.04

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

https://www.acmicpc.net/problem/10987 10987번: 모음의 개수 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 내 답안 count = 0 vowel = 'aeiou' x = input() for i in range(len(x)): if x[i] in vowel: count += 1 print(count) Review 입력된 String을 하나씩 돌아가면서, vowel에 있는 것이 몇 개인지 count를 해주었습니다.

BOJ/Python 2021.09.02

백준 1357번 뒤집힌 덧셈 파이썬

https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev( www.acmicpc.net 코딩을 하다가 최대한 줄일 방법을 생각해 보았다. 처음에는 80B , 70B정도의 길이로 코딩을 했는데 , 한줄로도 표현 할수 있을 것 같아서 한줄로 코딩을 해보았다. print(int(str(sum(map(int , input()[::-1].split())))[::-1])) 한줄로 줄이다가 굳이 sum(list(map(~~))) 이렇게 코딩을 안해..

BOJ/Python 2021.09.02

백준 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 = list(map(int, input().split())) for i in range(N): if A[i] < X: print(A[i], end = ' ') 문제에서 주어진 N, X, A를 전부다 활용하기 위해 for 문으로 list에 접근하도록 코딩을 하였다. 코드 맨 아래줄에 같은 줄, 바로 뒤에 출력하기 위해 e..

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