본문 바로가기

알고리즘/[백준] Python5

[백준] 25206 너의 평점은 💡 문제 https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 💡 정답 import sys rating_dict = {"A+":4.5, "A0":4.0, "B+":3.5, "B0":3.0, "C+":2.5, "C0":2.0, "D+":1.5, "D0":1.0, "F":0.0} sum = 0 time = 0 avg = 0 for _ in range(20): cls = sys.stdin.readline().split() if cls[2] =="P": cont.. 2023. 3. 16.
[백준] 3052번 나머지 💡 문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 💡 정답 array = [] value = [] cnt = 0 for _ in range(10): array.append(int(input())) for i in range(10): va = array[i] % 42 value.append(va) value = set(value) print(len(value)) #숏코딩 value = {int(input())%42 for _ in range(10)} print(len(value)) 💡 풀이 문제에서 서로 다른.. 2023. 2. 1.
[백준] 8958번 OX퀴즈 💡 문제 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 💡 정답 n = int(input()) for _ in range(n): s = input() result = 0 final = 0 for i in s: if i == "O" : result += 1 #1번 final += result #2번 else: result = 0 print(final) 💡 풀이 s를 n번 입력하기 위해 for문 안에 넣어주고, result와 .. 2023. 1. 28.
[백준] 15649 N과 M(1) 💡 문제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 💡 정답 n, m = map(int, input().split()) s=[] def dfs() : if len(s) == m: print(' '.join(map(str,s))) return for i in range(1, n+1): if i not in s: s.append(i) dfs() s.pop() dfs() 💡 풀이 이 문제는 Python을 사용한다면, itertools.perm.. 2023. 1. 24.
[백준] 10866 덱 💡 문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 💡 정답 from collections import deque import sys d = deque() n = int(input()) for i in range(n): comd = list(sys.stdin.readline().split()) if comd[0] == "push_front": d.appendleft(comd[1]) elif comd[0] == "push_b.. 2022. 10. 4.