전체 글 72

[파이썬] max 정수 붙여쓴 값: 두 수의 연산값 비교하기

두 수의 연산값 비교하기 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요. 단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다. def combine_numbers(a, b): # 연산 ⊕를 구현하는 함수 return int(str(a) + str(b)) def solution(a, b): # a ⊕ b 계산 ab_combined = combine_numbers(a, b) # 2 * a * b 계산 twice_a_times_b = 2 * a *..

카테고리 없음 2024.03.13

[파이썬 문제풀이] 패턴 마디의 길이

패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라. - 출처: SW ACADEMY- 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. T = int(input()) # 테스트 케이스의 개수를 입력 받음​ 각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다. input_string = input()[:30] # 문자열을 입력 받으며 길이를 30으로 제한​ 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. for t in range(1, T + 1):​ [제약 사항] 각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다. [출력] 출력의 각 줄은 '#t'로 시..

[파이썬 문제풀이] 몫과 나머지 구하기

2개의 수 a, b를 입력 받아, a를 b로 나눈 몫과 나머지를 출력하는 프로그램을 작성하라. -출처: SW Academy- T = int(input()) # 테스트 케이스의 개수를 입력 받음 for t in range(1, T + 1): # 두 개의 수를 입력 받음 a, b = map(int, input().split()) # 몫과 나머지를 계산 quotient = a // b remainder = a % b # 결과 출력 print("#{} {} {}".format(t, quotient, remainder)) 1. 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. T = int(input()) 2. 출력의 각 줄은 '#t'로 시작하고 공백을 한 칸 둔 다음..

카테고리 없음 2024.03.12

[파이썬 문제풀이] 주어진 숫자만큼 # 을 출력

주어진 숫자만큼 #를 출력해볼때 어떻게 해야할까? def print_hash(num): for _ in range(num): print ('#', end="") print() # 한 줄을 띄워주는 역할을 합니다. # 함수를 호출하여 사용합니다. num = int(input("숫자를 입력하세요: ")) print_hash(num) def print_hashes(num): print("#" * num) # 함수를 호출하여 사용합니다. num = int(input("숫자를 입력하세요: ")) print_hashes(num) for _ in range(num): 루프의 반복 횟수에 변수를 사용하지 않고 _를 사용하는 것은 반복되는 변수의 값을 무시하고자 할 때 주로 사용됩니다. 파이썬에서는 변수 이름으로 _를 ..

[파이썬 심화] 부분 수열의 합

부분 수열의 합 A1, A2, ... , AN의 N개의 자연수가 주어졌을 때, 최소 1개 이상의 수를 선택하여 그 합이 K가 되는 경우의 수를 구하는 프로그램을 작성하시오. [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 2개의 자연수 N(1 ≤ N ≤ 20)과 K(1 ≤ K ≤ 1000)가 주어진다. 두 번째 줄에는 N개의 자연수 수열 A가 주어진다. 수열의 원소인 N개의 자연수는 공백을 사이에 두고 주어지며, 1 이상 100 이하임이 보장된다. def count_subsets_with_sum(numbers, target_sum): count = 0 N = len(numbers) def backtrack(start_index, current_sum): no..

[파이썬 문제풀이] 체스판 경우의수 구하기

N-Queens 문제풀기 문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. N-Queen 문제는 백트래킹(backtracking) 알고리즘을 사용하여 해결할 수 있습니다. 백트래킹은 가능한 모든 경우를 조사하면서 해를 찾는 방법으로, 불필요한 경우를 배제하여 탐색 시간을 단축하는 방법입니다. def is_safe(board, row, col, N): # 같은 열에 퀸이 있는지 확인 for i in range(row): if board[i][col..

홀수 짝수 이어 붙이기

n의 배수 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요. def solution(num, n): if num % n == 0: return 1 else: return 0 def solution(num, n): return 1 if num % n == 0 else 0 앞의 n글자 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요. def solution(my_string, n): return my_string[:n] 위의 함수는 주어진 문자열 my_string의 앞의 n..

[파이썬] AI 알고리즘 문제 : 기초 05

1. 길이에 따른 연산 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. def solution(num_list): if len(num_list) >= 11: return sum(num_list) else: result = 1 for num in num_list: return *= num return result 설명: 먼저 입력 리스트의 길이를 확인합니다. 리스트의 길이가 11 이상인 경우에는 sum() 함수를 사용하여 리스트의 모든 원소의 합을 반환합니다. 리스트의 길이가 10 이하인 경우에는 각 원소를 곱하여 결과를 계산합니다. 처음에는 결과를 1로 ..

What is Data? 데이터 구조 (Data Structure)

1. 데이터란 무엇인가? 경험이나 관찰로 얻어진 조직화된 정보 모음을 데이터라고 한다. 이전에는 프로그램과 데이터로 나눠서 프로그램은 명령과 같은 컴퓨터 수행할 작업, 코드가 아닌 모든 것이 데이터라고 했다. 그런데 현재 우리가 사용하는 컴퓨터 노트북과 같은 현대 컴퓨터의 아버지라 불리는 von neumann (1903-1957)라는 분이 "프로그램도 일종의 데이터다"라는 선언을 하며 프로그램 내장식 컴퓨터가 등장하며 개인이 들고 다니는 컴퓨터의 시대가 열렸다. 2. 데이터는 컴퓨터에 어떻게 저장될까? 저장되는 방식으로는 총 두 가지로 스토리지(storage)와 메모리(memory)가 있다. 2.1 스토리지(storage) 스토리지(storage)란 데이터가 영구히 저장되는 곳으로 HDD, SSD, US..

[Python result] 파이썬 결과값 도출: 함수 호출 vs 튜플 생성

처음 파이썬을 공부하다 보면 result에 a, b라고 해야 하는지 (a, b)라고 해야 하는지 (a, (b))라고 해야 하는지 헷갈릴 수 있다. 사례를 통해 배워보자. 함수 호출의 예시: pythonCopy code def add(a, b): return a + b result = add(3, 5) # add 함수를 호출하고 결과를 변수 result에 저장 print(result) # 출력: 8 위의 코드에서 **add(3, 5)**는 함수 **add**를 호출하고, 이 함수에 인자로 3과 5를 전달합니다. 함수가 실행되면 3과 5를 더한 결과인 8이 반환되고, 이 결과가 result 변수에 할당됩니다. def remove_vowels(my_string): vowels = "aeiouAEIOU" # 모..