Python_BOJ
-
백준 1032_명령 프롬프트(python) : map과 lambdaPython_BOJ/브론즈 1 2024. 3. 3. 15:45
1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 정답코드 1 num = int(input()) lst = [] for i in range(num): lst.append(input()) if len(lst) == 1: print(*lst) else: result = [] for j in range(len(lst[0])): temp = [] for i in range(num): temp.append(lst[i][j]) if len(set(temp)) == 1: result.append(temp[0]) els..
-
백준 2581_소수(python)Python_BOJ/브론즈 2 2024. 2. 27. 12:17
2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 정답 코드 M = int(input()) N = int(input()) result = [] for num in range(M, N+1): cnt = 0 if num > 1: for i in range(2, num): if num%i == 0: cnt += 1 break if cnt == 0: result.append(num) if len(result) == 0: print(-1) else: print(sum(result)) print(min(result)) 코드 설명 1..
-
백준 1159_농구 경기(python) : sorted(list)와 ''.join(list)Python_BOJ/브론즈 2 2024. 2. 6. 11:51
1159번: 농구 경기 상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작 www.acmicpc.net 정답 코드 num = int(input()) lst = [] member = [] for i in range(num): name = input() first_name = name[:1] lst.append(first_name) if lst.count(first_name) >= 5: member.append(first_name) if member == []: print("PREDAJA") else: member = list(set(member)) member = sort..
-
백준 1009_분산처리(python)Python_BOJ/브론즈 2 2024. 1. 25. 01:01
정답 코드! n = int(input()) for i in range(n): a, b = map(int, input().split()) a = a%10 if a == 0: print(10) elif a==1 or a==5 or a==6: print(a) elif a==4 or a==9: if b%2==0: print(a**2 % 10) else: print(a**1 % 10) else: if b%4 == 0: print(a**4 % 10) else: print(a**(b%4) % 10) 이 문제의 핵심은 시간 초과가 나오지 않도록 최대한 계산을 작게 줄이는 것이다. 컴퓨터 10대에 순차적으로 데이터를 부여하기 때문에, 어떤 수가 오든지 간에 마지막 일의 자리 수만 신경써주면 된다. 위 표에 a의 일의 자..
-
백준 2914_저작권(python)Python_BOJ/브론즈 3 2023. 12. 20. 01:20
풀이 '반올림'이 아닌 '올림'이라는 사실에 유의한다. 만약 평균값 I가 24라면, 1. 올림을 하기 전의 값 중 최소는 23.5가 아닌 23.00000···1이라는 사실! 2. 23.00000···1에서 소수점 이하의 값이 존재한다는 것은 23.0일 때보다 멜로디가 최소 1개 더 있다는 것 이에 따라서 1. 평균값 I에서 1을 빼주고 2. 구한 멜로디의 값에 1을 더해준다. 정답코드 A, I = map(int, input().split()) print(A*(I-1)+1)
-
백준 2857_FBI(파이썬) : 리스트 압축 해제(*list)Python_BOJ/브론즈 3 2023. 12. 9. 01:33
import sys name = sys.stdin.readlines() list = [] for i in name: if 'FBI' in i: list.append(name.index(i)+1) if len(list) == 0: print('HE GOT AWAY!') else : print(*list) 빈 리스트를 만들어 들어오는 문자별로 FBI가 포함되어 있으면 인덱스를 저장하도록 했다. 백준 예시에서는 5개의 입력이 최대였지만, 5개 이상도 넣을 수 있다는 가정하에 만들었다. 마지막에 리스트에서 대괄호를 어떻게 없앨지 고민했는데, Asterisk(*)을 사용하면 리스트 압축 해제가 가능하다.
-
백준 2010_플러그(python)Python_BOJ/브론즈 3 2023. 11. 2. 22:20
정답 코드 import sys input = sys.stdin.readline # readline으로 시간 단축 N = int(input()) # 멀티탭의 개수 total = 0 for i in range(N): n = int(input()) # 플러그의 수 total += n print(total - (N-1)) 처음에 input()을 사용했더니 시간초과가 나왔다. input()보다 속도가 빠른 sys.stdin.realine()을 사용해 주었다.