[ 멋쟁이 사자처럼 한양대 9기 ] - 파이썬 기초와 가상환경 구축

.·2021년 4월 8일
0

Python 기초와 가상환경 구축

2주차 학습

멋사 강의를 참고하여 열심히 수강해 주세요.

참고할만한 사이트

내용이 부족하거나 더 공부하고 싶다면 아래 링크를 추천드려요.(선택사항)

2주차 과제

  1. 4월 7일에 진행되는 중앙 세션에서 실시간 문제 풀이 시합을 진행할 예정입니다. 과제는 멋사 지원 시 제출했던 Python 숙련도에 따라서 다르게 제공됩니다. (단, 모든 문제는 함수를 사용해서 풀어주세요)
0~1 숙련도 문제

2~4 숙련도 문제

문제 풀이

두 수 비교하기

a,b = map(int,input().split(" "))
if a > b :
    print(">")
elif a < b :
    print("<")
else :
    print("==")

별찍기

cnt = int(input())
for i in range(cnt):
    for j in range(i+1):
        print("*", end="")
    print("")

    

최소,최대

cnt = int(input())
nums = list(map(int, input().split(" ")))
min = nums[0]
max = nums[0]

for num in nums:
    if num < min:
        min = num
    if num > max:
        max = num
    
print(min,max)

상수

a,b = input().split(" ")    # 숫자를 공백으로 구분해 a,b에 입력 받기
aR = int(a[::-1])           # 문자열을 뒤집은 후 숫자로 바꾸기
bR = int(b[::-1])

if aR > bR :                # 크기 비교 후 출력
    print(aR)
else :
    print(bR)

완주하지 못한 선수

def solution(participant, completion):
    for com in completion:          # 완주한 배열에 있는 사람들 하나씩 빼오기
        if com in participant:      # 그 사람이 참가자 명단에 있는지 확인
            participant.remove(com) # 있으면 참가자 명단에서 제거해주기
    answer = participant[0]         # 완주하지 못한 사람을 리턴하기
    return answer

평균은 넘겠지

cnt = int(input())                              # 테스트 케이스의 개수 C입력
answers = []                                    # 정답을 답을 리스트 생성

for _ in range(cnt):                            # C의 개수만큼 반복
    nums = list(map(int,input().split(" ")))# 공백으로 구분한 후 int값으로 바꿔 nums 배열에 입력
    sum = 0                                     # sum 초기화
    count = nums[0]                             # 학생의 수를 count 변수에 입력
    del nums[0]                                 # 학생 수 리스트에서 제거

    for num in nums :                           
        sum = sum + num                         # 학생 점수들의 합 구하기

    ave = sum/count                             # 평균 구하기

    exceedAve = 0                               # 평균 넘는 학생의 수를 구하기 위한 
    for num in nums :                           
        if num > ave :                          # 학생 점수가 평균을 넘는지 확인
            exceedAve = exceedAve + 1           # 넘으면 exceedAve 값을 1 올려준다
    
    answer = exceedAve/count*100# 넘는 학생의 비율을 구해준 후 퍼센트값으로 출력하기 위해 *100
    answers.append(answer)                      # answer 배열에 추가

for answer in answers:
    print("{:.3f}%".format(answer))# format 함수를 이용해 문자열에 소수점 셋째자리까지 출력

단어 공부

word = input().upper()              # 단어를 word 변수에 입력 받고 전부 대문자로 변경 ex) Mississipi -> MISSISSIPI
s1 = set(word)                      # 중복을 제거하기 위한 집합 s1 생성  ex) (M,I,S,P)

dic = {}                            # 비어 있는 딕셔너리 생성

def get_key(val):                   # 밸류값으로 키값을 찾는 함수
    for key, value in dic.items():
         if val == value:
             return key

for s in s1 :                       # s1에 있는 문자들이 word에 몇개 들어있는지 체크
    letCnt = word.count(s)          # count 함수를 사용 ex) letCnt = word.count("M") = 1
    dic[s]=letCnt                   # 딕셔너리에 키값과 밸류값으로 문자와 문자 개수 입력 ex ) { "M" : 1 }
                                    # {'I': 4, 'M': 1, 'S': 4, 'P': 1}

cnts = list(dic.values())           # dic에서 문자개수들을 리스트로 뽑기 ex) [4,1,4,1]

max = max(cnts)                     # 문자 개수들 중 가장 큰 값 찾기  ex) max = 4

maxCount = cnts.count(max)          # 가장 많이 나온 문자가 여러개인지 확인 ex) maxCount = 2

if maxCount == 1 :                  # 가장 많이 나온 문자가 하나일 경우 문자 출력 
    print(get_key(max))             
else :                              # 여러개일 경우 물음표 출력
    print("?")

전화번호 목록

phone_book = ["123", "456", "789"]
phone_book2 = ["12", "123", "1235", "567", "88"]
phone_book3 = ["119", "97674223", "1195524421"]



def solution(phone_book):
    phone_book.sort()
    
    # 바로 뒤와 비교
    # 오름차순 정렬되어 있으므로 어차피 바로 뒤에 것에 포함되어 있지 않으면 가망이 없다.
    for i in range(len(phone_book) - 1):
        val = phone_book[i]
        compared_val = phone_book[i+1]
        if val == compared_val[:len(val)]:
            return False
    return True

가상환경 구축 명령어

python -m venv myvenv - 가상환경생성
source myvenv/bin/activate - 맥
source myvenv/Scripts/activate - 윈도우
pip install django - 장고 설치
pip freeze > requirements.txt - requirements.txt 만들기
pip install -r requirements.txt - requirements.txt 통해 설치
profile
지금부터 공부하고 개발한것들을 꾸준하게 기록하자.

0개의 댓글