본문 바로가기

분류 전체보기

(79)
[문제 12] 주어진 숫자 뒤집기 - Python 풀이 정수 N이 주어지면 이 숫자를 뒤집어서 출력하는 프로그램을 작성한다.입력 예시첫째 줄에 정수 N이 주어진다.출력 예시뒤집은 숫자를 "Reversed: 값" 형식으로 출력한다. 뒤집은 결과의 앞자리에 오는 0도 그대로 출력한다. 예제 테스트케이스예제 1입력 예시출력 예시12345Reversed: 54321예제 2입력 예시출력 예시100Reversed: 001코드N = input()reversed_N = N[::-1]print(f"Reversed: {reversed_N}")1. 코드 동작 설명정수 N을 문자열로 입력받는다.문자열 슬라이싱을 사용하여 문자열을 뒤집는다.뒤집힌 결과를 출력 형식에 맞게 출력한다.문자열로 처리하므로 앞자리의 0도 유지된다.2. 문법 설명input()N = input()문자열을 입력..
Python `sort()`와 `sorted()`의 차이 핵심만 정리한다.sort()와 sorted() 차이 요약대상리스트 메서드내장 함수원본 변경OX반환값없음 (None)정렬된 새 리스트사용 가능 대상리스트만iterable 전체1. sort()arr = [3, 1, 2]arr.sort()리스트 자체를 정렬한다.원본 데이터가 변경된다.반환값은 없다.사용 형태:리스트.sort()2. sorted()arr = [3, 1, 2]new_arr = sorted(arr)정렬된 새 리스트를 반환한다.원본은 유지된다.사용 형태:sorted(iterable)3. 핵심 차이 예시arr = [3, 1, 2]a = arr.sort()print(arr) # [1, 2, 3]print(a) # Nonearr = [3, 1, 2]a = sorted(arr)print(arr) #..
[문제 11] 배열에서 두 수의 곱 출력하기 - Python 풀이 정수 배열이 주어지면 이 배열에서 가장 큰 두 수의 곱을 계산하는 프로그램을 작성한다. 배열의 크기는 0 이상 100 이하이다.입력 예시첫째 줄에 배열의 크기 N이 주어진다. 둘째 줄에 N개의 정수가 공백으로 구분되어 주어진다.출력 예시배열에서 가장 큰 두 수의 곱을 "Product: 값" 형식으로 출력한다.예제 테스트케이스예제 1입력 예시출력 예시51 3 5 2 4Product: 20예제 2입력 예시출력 예시27 8Product: 56정답 코드N = int(input())if N >= 2: arr = list(map(int, input().split())) arr.sort() product = arr[-1] * arr[-2] print(f"Product: {product}")1. ..
[문제 10] 숫자의 자릿수 합 구하기 - Python 풀이 정수 N이 주어지면 이 숫자의 모든 자릿수의 합을 구하는 프로그램을 작성한다.입력 예시첫째 줄에 정수 N이 주어진다.출력 예시자릿수의 합을 "Sum of digits: 값" 형식으로 출력한다.예제 테스트케이스예제 1입력 예시출력 예시123Sum of digits: 6예제 2입력 예시출력 예시9876Sum of digits: 30코드N = input()total = 0for digit in N: total += int(digit)print(f"Sum of digits: {total}")1. 코드 동작 설명정수 N을 문자열로 입력받는다.각 자릿수를 하나씩 순회한다.각 문자를 정수로 변환하여 누적합에 더한다.모든 자릿수의 합을 계산한 뒤 출력한다.2. 문법 설명input()N = input()문자열을 입..
[문제 09] 배열에서 중복 제거하기 - Python 풀이 주어진 정수 배열에서 중복된 값을 제거하고, 남은 값을 오름차순으로 정렬하여 출력하는 프로그램을 작성한다. 배열의 크기는 0 이상 100 이하이다.입력 예시첫째 줄에 배열의 크기 N이 주어진다. 둘째 줄에 N개의 정수가 공백으로 구분되어 주어진다.출력 예시중복을 제거한 뒤 오름차순으로 정렬된 정수들을 공백으로 구분해 출력한다.예제 테스트케이스예제 1입력 예시출력 예시64 5 6 5 4 33 4 5 6예제 2입력 예시출력 예시51 1 1 1 11 코드N = int(input())if N > 0: arr = list(map(int, input().split())) result = sorted(set(arr)) print(*result)1. 코드 동작 설명정수 N을 입력받는다.N이 0보다 큰 ..
[문제 08]숫자의 합 구하기 - Python 풀이 정수 N이 주어지면 1부터 N까지의 모든 자연수의 합을 계산하는 프로그램을 작성한다.입력 예시첫째 줄에 정수 N이 주어진다.출력 예시1부터 N까지의 합을 "Sum: 값" 형식으로 출력한다.예제 테스트케이스예제 1입력 예시출력 예시10Sum: 55예제 2입력 예시출력 예시1Sum: 1 정답 코드N = int(input())total = sum(range(1, N + 1))print(f"Sum: {total}")문법 설명1. int(input())입력을 받아 정수로 변환2. range(1, N + 1)1부터 N까지의 숫자 생성range는 끝값을 포함하지 않으므로 N + 1 필요3. sum()iterable의 모든 값을 더함sum(range(1, N + 1))4. print(f"...")f-string으로 ..
[문제 07] 배열에서 최대값과 최소값 찾기 - Python 풀이 주어진 정수 배열에서 최대값과 최소값을 찾아 출력하는 프로그램을 작성한다. 배열의 크기는 0 이상 100 이하이다.입력 예시첫째 줄에 배열의 크기 N이 주어진다. 둘째 줄에 N개의 정수가 공백으로 구분되어 주어진다.출력 예시최대값과 최소값을 각각 "Maximum: 값", "Minimum: 값" 형식으로 출력한다.예제 테스트케이스예제 1입력 예시출력 예시51 2 3 4 5Maximum: 5Minimum: 1예제 2입력 예시출력 예시17Maximum: 7Minimum: 7✔ 코드N = int(input())if N > 0: arr = list(map(int, input().split())) print(f"Maximum: {max(arr)}") print(f"Minimum: {min(arr)}..
[백준-2444] 별 찍기 - 7 코드 개선 - Python 풀이 별 패턴 출력 코드의 구조적 개선 분석1. 문제 접근 방식주어진 문제는 정수 N에 대해, 상하 대칭을 이루는 별 패턴을 출력하는 것이다.출력 구조는 중앙을 기준으로 대칭이며, 각 행에서 다음 두 요소가 핵심이 된다.공백의 개수별의 개수패턴의 본질은 “행 번호에 따라 공백은 감소하고 별은 증가한다”는 규칙이며, 이후 동일한 규칙이 역순으로 반복된다.2. 기존 구현 (코드1)N = int(input())for i in range(1, N+1): spaces = " " * (N-i) stars = "*" * (i*2-1) print(spaces + stars) for i in range(1, N): spaces = " " * i stars = "*" * ((N-i)*2-1) ..