본문 바로가기

반응형

전체 글

(253)
[python/파이썬] 백준 1676 팩토리얼 0의 개수 [문제 출처] https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net [소스 코드] #1676 def fact(n): if n == 0 or n == 1: return 1 else: return n * fact(n-1) n = int(input()) result = str(fact(n)) cnt = 0 for i in range(len(result)-1, 0, -1): if result[i] == '0': cnt += 1 else: break print(cnt)
[python/파이썬] 백준 11050 이항 계수1 / 11051 이항 계수 2 [문제 출처] https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net [#11050 소스 코드] #11050 def fact(n): if n == 0 or n == 1: return 1 else: return n * fact(n-1) n, k = map(int, input().split()..
[python/파이썬] 백준 2525 오븐 시계 [문제 출처] https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net [소스 코드] #2525 time = list(map(int, input().split())) dur = int(input()) time[1] += dur if time[1] >= 60: time[0] += time[1] // 60 time[1] %= 60 if time[0] >= 24: time[0] -= 24 print(*time)
[python/파이썬] 백준 4344 평균은 넘겠지 [문제 출처] https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net [소스 코드] #4344 import sys input = sys.stdin.readline T = int(input()) for i in range(T): data = list(map(int,input().split())) n = data[0] score = data[1:] avg = sum(score)/n cnt = 0 for j in score: if j > avg: cnt += 1 result = (cnt / n) * 100 print('%.3f' %r..
[python/파이썬] 백준 18870 좌표 압축 [문제 출처] https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net [문제 풀이] 입력이 주어졌을 때 그 숫자들을 0부터의 값으로 바꾸어 주면 되는 문제이다. 이름은 압축이지만, 기존 비율을 그대로 반영시키는 것이 아닌, 오름차순으로 정렬했을 때 몇 번째에 해당하는지로 좌표값을 변경시켜주어야 한다. 따라서 주어진 입력을 오름차순으로 정렬하고, 순서대로 0부터의 값을 배정하였다. 같은 값에 대해서는 같..
[python/파이썬] 백준 10814 나이순 정렬 [문제 출처] https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net [문제 풀이] 나이가 증가하는 순으로 정렬하고, 이름이 같을 경우 입력받은 순서를 그대로 유지하도록 해야 하는 문제이다. 파이썬 sort()를 이용했는데, 나이순으로 정렬했을 때 기존 순서가 바뀌는지 아닌지 몰라서 일단 돌려봤는데 정답이 나왔다 파이썬 sort()의 경우 같은 값에 대해서 기존 순서를 유지하는 것으로 보인다. 따라서 나이순으로 정렬하는 문제와 다르지 않게 풀 수 있다. 한..
[python/파이썬] 좌표 정렬하기2 [문제 출처] https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [소스 코드] #11651 import sys input = sys.stdin.readline n = int(input()) points = [] for i in range(n): points.append(list(map(int,input().split()))) points.sort(key = lambda x:(x[1], x[..
[python/파이썬] 백준 11650 좌표 정렬하기 [문제 출처] https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [문제 풀이] lambda를 활용해서 x좌표인 0번째 요소로 정렬하고 같은 x좌표에 대해서는 y좌표인 1번째 요소로 정렬을 하도록 하였다. 단순히 input()을 통해서 입력을 받으면 시간 초과가 나오므로 readline을 사용해주어야 한다. #11650 import sys input = sys.stdin.readline n = ..

반응형