상세 컨텐츠

본문 제목

2025.01.14 카이군 생일 축하드립니다

Data School

by 넨! 2025. 1. 14. 17:45

본문

SQL 시험 문제

1. customer 테이블에서 10일 이상의 영화를 대여한 고객들의 first_name, last_name을 조회하시오.

SELECT DISTINCT c.first_name, c.last_name
FROM sakila.customer c
JOIN sakila.rental r ON c.customer_id = r.customer_id
WHERE DATEDIFF(r.return_date, r.rental_date) >= 10;

 

 

 

파이썬 시험 문제

5. 문자열 속 단어 수 세기

목표: 사용자가 입력한 문자열에서 단어의 개수를 세는 프로그램을 작성

게임 규칙

  • 사용자는 한 줄의 문자열을 입력합니다.
  • 프로그램은 그 문자열에서 공백을 기준으로 단어를 분리하고, 단어의 개수를 출력합니다.
  • 공백만 있는 문자열이나, 앞뒤 공백이 있을 경우에도 올바르게 처리해야 합니다.
def solution(text):
    words = text.strip().split()
    return len(words)

text = input('한문장을 입력해주세요: ')
print(f'단어의 개수: {solution(text)}')

 

 

6. 숫자 추측 게임

목표: 컴퓨터가 1부터 주어진 범위 내에서 무작위로 숫자를 선택하고, 사용자는 그 숫자를 추측해야 합니다. 사용자가 추측할 때마다 컴퓨터는 힌트를 제공합니다. 힌트는 "더 작은 숫자입니다." 또는 "더 큰 숫자입니다."로 제공되며, 정답을 맞출 때까지 계속 반복됩니다.

게임 규칙

  • 컴퓨터가 범위 내에서 무작위로 숫자를 선택합니다.
  • 사용자는 숫자를 입력하여 추측합니다.
  • 매번 추측 후, 컴퓨터는 힌트를 제공합니다.:
    • "더 작은 숫자 입니다." 또는 "더 큰 숫자입니다."
    • 정답을 맞추면 게임이 종료됩니다.
  • 사용자가 정답을 맞출 때까지 계속 추측하며 점수를 받습니다.
  • 점수는 100점으로 시작하고, 틀릴 때마다 10점씩 차감됩니다.

입력:

  • 게임이 시작되면, 사용자는 추측할 숫자를 입력합니다.

출력:

  • 각 추측마다 "더 작은 숫자입니다." 또는 더 큰 숫자입니다."와 같은 힌트를 출력합니다.
  • 정답을 맞추면 "정답입니다!"와 함께 최종 점수를 출력합니다.
  • 점수가 0이 되면 게임이 종료됩니다.

제약 사항:

  • 범위는 1부터 100까지 주어집니다.
import random

def solution():
    answer = random.randint(1,100)
    attempt = 0

    while True:
        try:
            guessing = int(input('숫자를 추측해보세요: '))
            attempt += 1

            if guessing<1 or guessing>100:
                print('숫자는 1부터 100사이에 있습니다.')
                continue   

            if guessing > answer:
                print('더 작은 숫자 입니다.')
            elif guessing < answer:
                print('더 큰 숫자 입니다.')
            else:
                print(f"""정답입니다! 
                시도 횟수: {attempt}
                최종 점수: {100-(10*attempt)}""")
                return


            if 100-(10*attempt) == 0:
                print(f"""모든 기회를 소진했습니다. 
                시도 횟수: {attempt}
                최종 점수: {100-(10*attempt)}""")
                return

        except ValueError:
            print('올바른 숫자를 입력해주세요.')
            


solution()

 

 

7. 십진수 a와 b가 주어집니다.

주어진 십진수 a와 b를 이진수로 변환하고, 그 후 다음 연산을 수행하세요:

a와 b를 더한 결과를 이진수로 출력하세요.

a에서 b를 뺀 결과를 이진수로 출력하세요.

a와 b의 AND 연산 결과를 이진수로 출력하세요.

a와 b의 OR 연산 결과를 이진수로 출력하세요.

a와 b의 XOR 연산 결과를 이진수로 출력하세요.

a = 7
b = 5

def solution(a,b):
    x = bin(a)
    y = bin(b)
    print(f"""
a+b={bin(a+b)}
a-b={bin(a-b)}
a AND b = {bin(a & b)}
a OR b = {bin(a | b)}
a XOR b = {bin(a ^ b)}""")

solution(a,b)

 

 

8. 2진수를 5진수와 10진수로 바꾸는 함수를 작성하시오. + 10진수가 주어지면 2진수와 5진수로 바꿀 수 있는, 한꺼번에 작동할 수 있는 함수를 작성하시오.

'Data School' 카테고리의 다른 글

2025.01.13...  (0) 2025.01.13
2025.01.10 TGIF~  (0) 2025.01.10
2025.01.07 화요일 꺅!  (0) 2025.01.07
2025.01.06 월 요 일...........  (0) 2025.01.07
2025.01.03 금요일!!!!4일차  (1) 2025.01.03

관련글 더보기