본문 바로가기

전체 글229

[백준] 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.
[백준] 2750번 수 정렬하기(with python) https://www.acmicpc.net/problem/2750 1. 내가 작성한 코드 N = int(input()) arr = [] for i in range(N): arr.append(int(input())) arr.sort() for i in range(N): print(arr[i]) 버블정렬과 삽입정렬을 이용하는 방법도 있으나, 나는 아직 거기까지 진도를 나가지 못 한 관계로,, 그 부분 공부가 완료되면 다시 한 번 진행해보아야겠다. (산은 필기시험에 퀵/힙정렬 문제가 나왔었으니 정렬 알고리즘 제대로 공부해야할 필요가 있음!) 2. 헷갈렸던 부분 sort.() sorted() 함수 차이점 list.sort() : 변수 자체를 수정, 함수에서 None 반환, key 설정 가능, 내림차순 가능 so.. 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.
[백준] 2747번 피보나치 수(with python) https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) arr = [] for i in range (n+1): if i == 0 or i == 1: arr.append(i) else: arr.append(arr[i-1] + arr[i-2]) print(arr.pop()) list를 사용하지 않고 풀 수 있는 방법이 있을텐데 고민을 하다가 그냥 제출했다 . 효율적인 코.. 2023. 1. 11.