코딩일지 218

python 백준 알고리즘 1110번: 더하기 사이클

https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 주어진 조건을 함수에 적용시켜 출력하는 문제. 처음 주어진 수가 한자리수인 경우를 감안하여 초기 풀이에 활용해 보았으나 시간초과로 오답처리 되어, 주어진 수가 한자리수여도 상관 없는 밑의 식으로 최종답안 작성. 내 제출 N = int(input()) # 주어지는 수 ex)26 num = N cnt = 0 while True: a = num//10 # 2 10의자리 숫자 b = ..

python 백준 알고리즘 10951번: A+B - 4

https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 while문을 그냥 제출한다면 런타임 에러로 오답처리된다. 수가 입력되지 않아서 에러가 발생할 시에 반복문을 끝낼 수 있도록 try - except 구문을 활용. 내 제출 while True: try: A, B = map(int, input().split()) print(A+B) except: break

python 백준 알고리즘 10871번: X보다 작은 수

https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 N, X수를 받고, 길이가 N인 수열 A를 받아서 N번까지 반복문 돌려서 A[i]가 X보다 작은 경우(A[i] < X) 출력. 공백으로 구분하기 위해 end=" " 사용하기! 내 제출 N, X = map(int,input().split()) A = list(map(int,input().split())) for i in range(N): if A[i] < X: print(A[i..

python 백준 알고리즘 2439번: 별 찍기 - 2

https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 별찍기 1번 문제와 동일하지만 별 카운팅이 우측에서부터 시작인 만큼 그만큼의 공백을 추가해줘야한다. 내 제출 stars = int(input()) for i in range(1,stars+1): ### 1부터 star까지 print(' '*((stars)-i) + '*'*i) ### 공백이 star-i만큼, 별이 i만큼

python 백준 알고리즘 2438번: 별 찍기 - 1

https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 줄 갯수를 받아서 for문을 돌리고 1~N까지 단계별로 별을 출력한다. 내 제출 stars = int(input()) for i in range(stars): ### 0부터 star-1까지 print('*'*(i+1)) ### 1부터 star까지 stars = int(input()) for i in range(1,stars+1): ### 1부터 star까지 print('*'*i) ### 1부터 star까지 이게 더 직관적이였을듯

python 백준 알고리즘 11022번: A+B - 8

https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 출력할 문자열이 조금 더 길어졌다는 점만 빼면 A+B - 7 문제와 같다. f-string을 이용해 손쉽게 해결 내 제출 import sys t_case = int(input()) for i in range(t_case): a, b = map(int, sys.stdin.readline().split()) print(f"Case #{i+1}: {a} + {b} = {a + b}")

python 백준 알고리즘 11021번: A+B - 7

https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 테스트케이스 값을 받아 그 수만큼 반복문을 돌려서 A+B값을 주어진 텍스트 형식으로 출력한다(f-string 이용). 내 제출 import sys t_case = int(input()) for i in range(t_case): a, b = map(int, sys.stdin.readline().split()) print(f'Case #{i+1}: {a + b}') #### f-string 이용 배워먹은것은 써보아야 적성이 풀리기 때문에 sys.stdin.readli..

python 백준 알고리즘 15552번: 빠른 A+B

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net input 대신 sys.stdin.readline() 함수를 이용하는 문제. 이를 위해 sys를 import해야한다. 내 제출 import sys ### sys 모듈 가져오기 t_case = int(input()) for i in range(t_case): a,b = map(int, sys.stdin.readline().split()) print(a+b) 참고로 input 이용 시 입출력 방식이 느리면 여러 줄을 ..

python 백준 알고리즘 25304번: 영수증

https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 풀이 총 금액, 종류 수 값을 받은 뒤 물건의 종류 수만큼 반복문을 돌리고 a원짜리 b개 (a x b) 값을 모두 더해서 총 금액과 비교 내 제출 total = int(input()) # 총 금액 cnt = int(input()) # 물건의 종류 수 sum = 0 # a원짜리 b개의 총 가격 구하기위해 for _ in range(cnt): # 물건의 종류 수 만큼 N개의 줄 사이 a b값 a, b = ma..