문제 출처 : www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 1 . 문제 접근 방식 - 알고리즘에 대한 고민 1. n을 입력 받음 2. n의 자리수 = m 3. n - m * 9 = x 생성자를 구하는 과정에서 나올 수 있는 최소값 4. x부터 n까지의 수를 검사하며 합을 구했을 떄 n값과 같아지는 최소 값 출력 2 . 내가 푼 코드 n = str(input()) m = int(len(n)) x = int(n) - m * 9 n..
문제 출처 : www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 1 . 문제 접근 방식 - 반복문을 이용하여 입력받는 문자를 10개씩 끊어서 출력하는 것을 생각하였다. 2 . 내가 푼 코드 # 입력 받기 my_str = input() # 입력받은 문장의 길이를 len_str 변수에 저장 len_str = len(my_str) # range(시작숫자, 종료숫자, step) # index 0부터 마지막까지 10개 단위로 for i in range(0, len_str, 10): # 입력받은 문자..
문제 출처 : www.acmicpc.net/problem/2750 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 1 . 문제 접근 방식 - 문자열을 입력 받고sort()함수를 이용하여 오름차순 방식으로 정렬하는 방법을 생각해 보았다. 2 . 내가 푼 코드 # N개의 수가 주어짐 N = int(input()) M = [] # N개의 숫자를 입력 받음과 동시에 리스트에 요소 추가 for i in range(N): M.append(int(input())) # M을 list형으로 변환 M = list(M) # ..
문제 출처 : www.acmicpc.net/problem/9086 9086번: 문자열 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으 www.acmicpc.net 1 . 문제 접근 방식 - 먼저, 숫자를 입력을 받고 문자열의 인덱스 개념을 이용하여 결과값을 출력하는 방식을 생각하였다. 2 . 내가 푼 코드 word_num = int(input()) for i in range(word_num): words = str(input()) # words[0] : 문자열의 첫번째 문자 # words[-1] : 문자열의 마지막 문자 print(words[0] + w..