[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 사용해보기 solution import sys t = int(sys.stdin.readline().strip()) for _ in range(t) : a, b = map(int, sys.stdin.readline().strip().split()) print(a+b) [PYTHON] 1110 더하기사이클 while https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 풀이 N의 일의 자리가 십의 자리가 되고 N의 합의 일의 자리가 일의 자리가 된다. 예를 들어 N = 26이라면 N = 26 => 2 + 6 = 8 N = 68 => 6 + 8 = 14 N = 84 => 8 + 4 = 12 N = 42 => 4 + 2 = 6 N = 26 N이 이러한 루프를 통해 원래 수까지 돌아오는 횟수를 출력하면 된다. solution import sys N.. [PYTHON] 10809 알파벳 찾기 - 인덱스찾기/.find()/.index()/아스키코드 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net solution import sys str = sys.stdin.readline().strip() alphablet = 'abcdefghijklmnopqrstuvwxyz' for i in alphablet : print(str.find(i), end = ' ') # 공백을 구분하여 결과를 반환함 입력받은 문자열에 알파벳 순서대로 검색하여 index를 반환한다. str.find(i): .. [PYTHON] 11654 아스키코드 - 문자를 아스키 코드로, 아스키 코드를 문자로 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net solution data = sys.stdin.readline().strip() print(ord(data)) 새롭게 배운점 ord() chr() ord(): 문자의 아스키코드를 반환 chr(): 아스키코드를 입력 받아 해당 문자를 반환 print(ord('A')) # 65 print(chr(65)) # A [PYTHON] 11720 숫자의 합 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net solution for문 for문으로 돌려 list 요소 하나씩 누적합 해줌 2번째줄을 str형태로 받아서 list에 담으면 숫자 하나씩 담김. import sys t = int(sys.stdin.readline().strip()) numbers = sys.stdin.readline().strip() sum = 0 for num in list(numbers): sum += int(num) print(sum) sum() - 내장함수를 이용해 한번에 더해줌. import sys t .. [PYTHON]4673 셀프넘버 set()/중복제거/차집합/합집합/교집합 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 풀이 d(1) = 1 + 1 = 2 d(2) = 2 + 2 = 4 d(3) = 3 + 3 = 6 ⋮ d(123) = 123 + 1 + 2 + 3 ⋮ d(10000) = 10000 + 1 = 10001 1부터 10000까지의 n을 넣은 d(n)의 값을 set()에 넣고 중복을 제거해준다. 1부터 10000까지 담아 있는 숫자 리스트와 중복을 제.. [PYTHON] 10871 X보다 작은 수 list comprehension https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 X와 수열 A를 입력받아 for문을 돌린다. 만약 수열 A의 요소가 X보다 작다면 빈 배열에 담는다. 배열을 언패킹(*)해주어 출력한다. solution import sys _, X = map(int, sys.stdin.readline().strip().split()) A_list = list(map(int, sys.stdin.readline().strip().split.. [PYTHON] 10951 A+B -4 readlines/try-except https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 테스트 케이스 개수를 모르고 입력 받아 합을 구하는 문제이다. solution - readlines로 input값 끝까지 받는 방법 import sys test_cases = sys.stdin.readlines() for test_case in test_cases : A,B = map(int, test_case.split()) print(A+B) solution - try-except 사용해 예외처리로 푸는 법 while True: try: A,B = map(int, input().split().. [PYTHON] 25304 영수증 https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 문제 풀이 2번째 줄 input값인 물건의 종류의 수만큼 반복해서 물건의 가격과 개수를 입력받는다. 물건의 가격과 개수를 곱해 모두 더한 다음 1번째 줄의 총 금액과 맞는지 if문으로 확인한다. 맞으면 'Yes', 틀리면 'No'를 출력한다. solution import sys x = int(sys.stdin.readline()) n = int(sys.stdin.readline()) sum = 0 for .. [PYTHON] 8393 합 https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 n을 숫자형으로 입력받는다. for문으로 1부터 n까지 순회하면서 하나씩 더해준다. solution import sys n = int(sys.stdin.readline()) sum = 0 for i in range(1,n+1) : # 1부터 n까지 순회하려면, range의 두번째 인자는 끝 숫자로 포함하지 않으므로 n+1로 지정해야 한다. sum += i # i를 sum에 누적해서 더해준다. print(sum) range에 대해 잘 모르시겠다면 아래의 글을 참고해주세요 2023.01.03 - [개발언어/python].. [PYTHON] 10950 A+B -3 for_in에서 _의 의미 https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 첫째 줄에 몇 개를 입력받을지 개수를 입력받는다. 두 번째 줄부터 공백으로 구분하여 A와 B를 입력받는다. 첫 번째 입력값인 테스트 케이스 개수 만큼 반복하여 A와 B를 입력받아 더하고 출력해준다. solution import sys case_num = int(sys.stdin.readline()) for _ in range (case_num) : x,y = map(int, sys.stdin.readline().strip().split(' ')) print(x+y) 새롭게 배운 점 for _ i.. [PYTHON] 2439 별 찍기 -2 ljust()/rjust()/zFill() 왼쪽정렬/오른쪽정렬/공백을 0으로채우는 법 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제풀이 오른쪽 기준으로 정렬해서 출력하기 rjust()이용해서 푸는 방법 for문을 활용해 공백을 채워주는 방법 solution 1 - rjust()이용해서 푸는 방법 import sys N = int(sys.stdin.readline()) for i in range(1,N+1): print((i*'*').rjust(N)) solution 2 - 자릿수에 맞게 공백을 채워주는 방법 import sys N = int(sys.stdin.re.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음