본문 바로가기

🔅코딩테스트 공부🔅/❗백준138

[백준] 5597번 과제 안 내신 분..?(with python) https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 1. 내가 작성한 코드 a = [] b = [] for _ in range(28): a.append(int(input())) for i in range(1,31): if i in a: pass else: b.append(i) b.sort() for j in range(len(b)): print(b[j]) j = j+1 이 문제도 풀면서 ,, for문을 세 번이나 쓴다고,,? 와 같은 .. 2023. 1. 18.
[백준] 1110번 더하기 사이클(with python) https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 1. 내가 작성한 코드 (틀림, 수정 필요) c = 0 sum = '0' new = input() #while new != str(sum): if int(new) < 10: new = '0' + new c = c+1 print(new, sum) else: sum = int(new[0])+int(new[1]) new = new[1] + str(sum[-1]) c = c+1 print(.. 2023. 1. 17.
[백준] 11021번 A+B-7(with python) https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 1. 내가 작성한 코드 t = int(input()) for i in range(1,t+1): a,b = map(int, input().split()) print("Case #",end="") print(i,end='') print(":",a+b) ㅋㅋㅋ ㅠㅠ pirnt 함수 안에 , 를 넣어서 출력하면 띄어쓰기가 되는데?! 좋은 방법이 있을텐데?! 하고 풀었다. 여윽시나 문자열 포매팅을 안쓰다 보니 까먹은 것,, 외우자 💦 ("Case #"+i) 와 같이 +를 사.. 2023. 1. 17.
[백준] 25304번 영수증(with python) https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 1. 내가 작성한 코드 x = int(input()) #총금액 n = int(input()) #테스트케이스 개수 sum = 0 for i in range(1, n+1): a,b = map(int, input().split()) sum = a * b + sum if sum == x : print("Yes") else : print("No") 단계별 풀어보기를 먼저 풀면 좋다고 해서 푸는즁,, 브론즈 5 마음.. 2023. 1. 17.
[백준] 10989번 수 정렬하기3(with python) https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 내가 작성한 코드 N = int(input()) arr = [int(input()) for _ in range(N)] arr.sort() for i in range(N): print(arr[i]) 전 문제와 상당히 흡사해서 '이정도는 쉽지'라고 생각하며 풀었는데, 메모리 초과로 틀렸다 😥 2. 틀린 이유 내가 작성한 코드처럼 새로운 리스트를 정의해서 하나씩 입력값을 삽입하면 메모리 재할당이 이루어진다. 본 문제.. 2023. 1. 13.
[백준] 2751번 수 정렬하기(with python) https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 1. 내가 작성한 코드 N = int(input()) arr = [int(input()) for _ in range(N)] arr.sort() for i in range(N): print(arr[i]) 이 문제의 경우는 수의 범위가 1,000,000까지 주어지기 때문에 시간복잡도를 고려해서 문제를 풀어야 한다고 한다 .. 본인은 아직 시간복잡도 및 고급 정렬(삽입, 버블 등) 알고리즘을.. 2023. 1. 13.
[백준] 25305번 커트라인(with python) https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 1. 내가 작성한 코드 N,k = map(int,input().split()) x = list(map(int, input().split())) x.sort(reverse=True) print(x[k-1]) x.sort(reverse=True)를 이용해 내림차순으로 정리해주면 된다. 2023. 1. 13.
[백준] 2587번 대표값2(with python) https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 1. 내가 작성한 코드 arr = [] avg = 0 mid = 0 for i in range(5): arr.append(int(input())) arr = sorted(arr) avg = int(sum(arr)/5) mid = arr[5//2] print(avg) print(mid) 길이가 5로 주어졌기 때문에 mid = arr[2]라고 적어도 되는 거였네 .. 2023. 1. 13.
[백준] 10872번 팩토리얼(with python) https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) result = n if n == 0: result = 1 else : for i in range(1,n): result = result * (n-i) print(result) 나는 위와 같은 반복문을 이용해서 풀었지만, 재귀함수를 이용해서 간편하게 해결할 수도 있을 것 같다. 2. 재귀함수를 이용한 코드 def factorial(n): if n == 0: return 1 else : result = n * factorial(n-1) return .. 2023. 1. 12.