본문 바로가기

Univ/Python Programming

(33)
[문제 13] 문자열 뒤집기와 대소문자 변경 - Python 풀이 주어진 문자열을 뒤집고 각 문자의 대소문자를 반대로 바꾸어 출력하는 프로그램을 작성한다. 문자열의 길이는 최대 100이다.입력 예시첫째 줄에 문자열이 주어진다.출력 예시문자열을 뒤집은 뒤 각 문자의 대소문자를 반대로 바꾼 결과를 출력한다.예제 테스트케이스예제 1입력 예시출력 예시HelloWorldDLROwOLLEh예제 2입력 예시출력 예시C++ProgrammingGNIMMARGORp++c코드S = input()result = ""for ch in S[::-1]: if ch.isupper(): result += ch.lower() else: result += ch.upper()print(result)1. 코드 동작 설명문자열을 입력받는다.슬라이싱을 이용하여 문자열을 뒤집..
Python `::` 슬라이싱 문법 ::는 슬라이싱(slicing) 문법 안에서 쓰는 표기다.전체 형태는 다음과 같다.문자열[시작:끝:간격]리스트[시작:끝:간격]즉, :가 세 칸을 나누고 있고, 그중에서 값을 생략할 수 있다.예를 들어:s = "abcdef"print(s[1:5:2])결과:bd의미는 다음과 같다.시작: 1번 인덱스부터끝: 5번 인덱스 전까지간격: 2칸씩그래서 b, d가 선택된다.::가 뜻하는 것::는 시작과 끝을 생략하고, 간격만 쓰는 형태다.s[::2]이 뜻은:시작: 처음부터끝: 끝까지간격: 2즉, 처음부터 끝까지 2칸씩 가져오라는 뜻이다.예:s = "abcdef"print(s[::2])결과:ace[::-1]가 중요한 이유s[::-1]이 뜻은:시작: 끝에서부터 자동 처리끝: 처음까지 자동 처리간격: -1간격이 -1이면 거..
[문제 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으로 ..