본문 바로가기

IT/Python

(5)
코테 대비 파이썬 1. 시간복잡도, 리스트 IndexError 에 신경쓰자 2. 다수를 입력 받을 때나 입력이 차지하는 비중이 높을 때 import sys를 사용하여 입력받는게 빠르다. import sys input=sys.stdin.readline 후 input으로 사용 3. list 안에 for문 안쓰고 a = list(map(int, sys.stdin.readline().split())) 같이 입력 받을 수 있다.
백준 1181번: 단어 정렬 Q. A. n=int(input()) a=set([input() for _ in range(n)])#set로 만들어 중복된 단어 삭제 a=list(a) a.sort(key=lambda x:(len(x), x)) for i in a: print(i) # list를 정렬하는 sort - 기본 형태 sort(key, reverse) - list를 정렬하는 sort 함수를 lambda를 사용하여 우선 단어의 길이를 기준으로 정렬하고, 이후 사전 순으로 추가 정렬
백준 1157번: 단어 공부 A. c=input().upper()#대소문자를 구분하지 않으니 나중에 출력할 대문자로 받아주자 a=list(set(c))#for문의 시간 초과 방지를 위해 중복 단어를 제거하는 set로 변형 후 list로 만들어주자 d={} v=[] for i in a: d[i]=c.count(i)#count를 통해 입력 받은 단어에서 각 알파벳이 사용된 개수를 세주자 v.append(d[i])#위에서 센 개수를 v 리스트에 저장하자 if v.count(max(v))>1:#만약 v 리스트에서 최댓값이 1개 보다 많으면 가장 많이 사용된 알파벳이 여러 개이므로 ? 출력 print("?") else:#위의 경우가 아니라면 index를 통해 최댓값의 주소를 찾아 그 단어를 출력 print(a[v.index(max(v))])
백준 11718번: 그대로 출력하기 Q. 입력 받은 대로 출력해야 함. HINT. 예외 처리를 통해 해결할 수 있다. 예외 처리기의 기본 형식은 이렇다. try: 실행할 코드 except (예외 이름): 예외가 발생했을 때 처리하는 코드 저 문제는 입력 받은 대로 계속 출력해야 하므로, 결국 파일의 끝을 검사하는 EOF 처리를 해야한다. 예외 처리기의 기본 형식에서 except 뒤에 예외 이름을 입력하면, 그 예외가 발생했을 때만 예외 처리 코드를 실행 가능하다. 예를 들어, except ZeroDivisionError 는 숫자를 0으로 나눠서 에러가 발생했을 때 실행된다. EOF, 즉 파일의 끝을 만나면 발생하는 오류의 이름은 EOFError 이므로 except EOFError 를 통해 처리 할 수 있다. A. while True: tr..
터틀 그래픽과 반복을 이용하여 싸인(sin) 그래프 그리기 코드 + 설명 import math#math 라이브러리 선언 import turtle#turtle 라이브러리 선언 t=turtle.Turtle() t.shape("turtle")#모양을 터틀로 for i in range(360): S=math.sin(math.pi*i/180) #싸인 값 = math.sin(라디안) //라디안 = math.pi(3.14)*각도/180 t.goto(i, S*100) #그래프 그리기 (y좌표의 S(싸인 값)에 곱하는 수에 따라 높낮이 폭이 변함) turtle.done()#터틀 그래픽 실행 결과 화면에 띄워놓기 실행 결과