본문 바로가기

python316

[Python 문법] Python 기초 문법 1) Python 1. 특징 쉽다 많은 사람들이 사용한다 많은 것을 할 수 있다 2. 무조건 최신 버전만 설치하지 않는 이유 LTS(Long Term Support) 장기 지원 버전 일반적인 경우보다 장기간에 걸쳐 지원하도록 특별히 고안된 소프트웨어의 버전, 에디션 안정성 측면에서 검증된 버전을 사용하기 위함 + 유지보수 기간 연장 3. Visual Studio Code와 굳이 연동하는 이유 좀 더 가벼움 다양한 언어의 내용 제공 하이라이팅 기능 (색 바뀌는 기능) 제공 오픈소스 기능도 활발하게 되어 있음 4. 주의사항 대 / 소문자 띄어쓰기 스펠링 2) Python 문법 1. 저장 save의 개념보다는, 박스에 이름을 붙이고 어떤 값을 담는다 라고 생각 ex) dust = 60 : dust = 60이다.. 2022. 1. 15.
[python문법] int를 str로 바꿔서 출력하기 1. 한 줄 씩 쪼개서 출력하기 a = list(range(1,11)) for i in range(a) : # 일단 a에 저장된 값 하나씩 다 돌면서 보기 for j in str(a[i]) : a의 [i]번 값을 문자(str)로 출력 print(j) ''' 결과 1 2 3 4 5 6 7 9 1 # 10 이 1과 0으로 나눠서 출력됨 0 ''' 2. 리스트 그대로 출력해보기 a = list(range(1,11)) b = str(a) print(b[0]) ''' 결과 # 1이 나올 거라고 생각했는데 [ # a 리스트의 대괄호가 출력됨 ''' 3. 입력 받은 숫자를 문자로 쪼개서 더하기 (예시 : 75 = 7 + 5 = 12로 출력하기) def 함수로 만들어서 푼 문제 링크 백준_4673_셀프넘버 [백준/py.. 2022. 1. 15.
[백준/python3] 4673_셀프 넘버(brute force) ''' # d(75) = 75 + 7 + 5 = 87 # 이렇게 하려면 int로 받고 str로 쓰기 a = int(input()) b = str(a) print(b[0]) # 입력 : 867 # 출력 : 8 ''' # d(75) = 75 + 7 + 5 = 87 # 이걸 함수로 만들어야 함 def d(n) : # 셀프넘버 생성해주는 함수 만들기 n = n + sum(map(int, str(n))) # 이것저것 해보다가 sum(map(int, str(n)))이 된다는 것 찾음 - int로 받고 str로 쓰기 # 위 식을 해석하면, d(75) = 75 + (7 + 5) = 87이라는 뜻 return n # 문제의 설명대로 n에 저장하고 return numbers = list(range(1, 10001)) # .. 2022. 1. 15.
[python문법] input() vs sys.stdin 1. input() 파이썬 내장 함수 input -> 개행 문자 벗기고 -> 문자열로 변환 -> return 2. sys.stdin file object 입력 -> buffer에 저장 -> 읽기 : buffer에 저장하고 읽기만 하기 때문에 시간 감소함 * 입력 속도 비교 1. for line in sys.stdin nums = [] for line in sys.stdin : nums.append(line) print(nums) 숫자 한 줄씩 입력 / 결과 1 2 3 ...(중략) ['1\n', '2\n', '3\n'] ## 개행문자 함께 출력됨 # 참고 -- rstirp으로 개행문자 제거 nums = [] for line in sys.stdin : nums.append(line.rstirp()) ## .. 2022. 1. 13.
[python문법] def 함수 값 여러 개 return하기 def ABC(a, b) : return a + b, a - b 로 지정했을 때, x, y = ABC(10, 20) print(x, y) 입력 시 30 -10 출력 print(x) 30 (결과) print(y) -10 (결과) x = ABC(10, 20) print(x) 입력 시 (30, -10) 튜플로 출력됨! 2022. 1. 13.
[백준/python3] 5622_다이얼 word = input().upper() # 대문자로 받기 idx = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] # 각 번호에 입력된 다이얼 cnt = 0 # 전화 걸기 위해 필요한 최소 시간 초기값 0초 for i in range(len(word)) : # 문자 세기 for j in idx : # idx를 돌며 각 문자가 다이얼의 어디 적힌 숫자인지 셀 것 if word[i] in j : # idx에서 word의 [i] 자리에 해당하는 다이얼 찾기 cnt += idx.index(j)+3 # 문제에서 다이얼이 숫자 2번부터 적혀 있음, 숫자 1을 걸려면 총 2초가 필요 # 2번을 걸려면 3초가 필요하기 때문에 +3을 해줌 print(cnt) 2022. 1. 13.
[백준/python3] 5054_주차의 신 ''' sys.stdin.readline() -- 메모리 30860KB, 시간 84ms ''' import sys t = int(input()) # 테스트 케이스 개수 for _ in range(t) : # 테스트 케이스 개수만큼 반복 n = int(input()) # 방문할 상점 수 n shop = sorted(map(int, sys.stdin.readline().split())) # 상점 위치 print((shop[-1] - shop[0])*2) # (맨 뒤에 위치한 상점 - 맨 앞에 위치한 상점) * 2 ## 뒤에 거에서 앞에 거 빼기 + 맨 마지막에서 앞에 거 빼기 ## 더 쉬운 방법 없나,,, 고민 ## 입력 13 24 37 89 --> 거리 11, 13, 52, 76 --> 76, 76 ## .. 2022. 1. 13.
[백준/python3] 4435_중간계 전쟁 import sys t = int(input()) # 전투 개수 t gan = [1, 2, 3, 3, 4, 10] # 간달프팀의 각 종족별 점수 sau = [1, 2, 2, 2, 3, 5, 10] # 사우론팀의 각 종족별 점수 battle = 0 for i in range(t) : # 전투 개수만큼 간달프팀과 사우론팀의 참여자 수가 주어짐 gnum = list(map(int, sys.stdin.readline().split())) #간달프팀 종족별 참여자 수 snum = list(map(int, sys.stdin.readline().split())) #사우론팀 종족별 참여자 수 gscore = 0 sscore = 0 for j in range(len(gnum)) : gscore += gan[j] * gn.. 2022. 1. 12.