2751, 11650, 11651, 10814, 10825, 10989,11652, 11004
각 문제에 대해 정답 처리된 코드를 저의 github에 올려두었습니다.
참고하세요!
github.com/Hong-been/Algoritms-and-Data-Structues
~ 목차 ~
1. 빈 리스트 생성 및 추가
2. sorted/sort 차이
3. 원하는 기준 여러 개로 sort할 때
4. 원하는 기준들이 오름/내림차순이 다를 때
5. string 문자열로 sorting할 때
6. 알고리즘은 맞는데 시간 초과가 날 때
7. 알고리즘은 맞는데 메모리 초과가 날 때
8. dictionary로 저장하고 정렬할 때
9. dictionary에 해당 key가 있는지 탐색할 때
1. 빈 리스트 생성 및 추가
a=[]
a.append(b)
2. sorted/sort 차이
a.sort(): return값 없음, 오름차순, a 자체가 바뀜
sorted(a) : return 값 있음, 오름차순, a는 그대로, 새로운 list를 할당받아야 함
3. 원하는 기준 여러개로 sort할 때
a.sort(key=lamdba x: (x[0], x[1]) ) : x를 input으로, x[0]과 x[1]를 return으로 만든다. 이때 x는 a이다.
즉, x[0]이 우선 key value, x[1]가 두번째 key value가 된다. 좌표를 정렬하는 문제에서 사용한다.
* 유의할 점!! (x[0], x[1]) 괄호 빼먹지 말자!
4. 원하는 기준들이 오름/내림차순이 다를 때
a.sort(key=lamdba x: (x[0], -x[1]) ) : 내림차순인 key value에다가 마이너스를 붙여 음수로 만들어 준다.
5. string 문자열로 sorting할 때
str에서 10, 50, 100을 정렬하면 10,100,50 으로 정렬된다.
숫자를 정렬하고 싶을 때엔 꼭 a.sort(key=lamdba x: int(x[0]) ) int형으로 형변환한다.
6. 알고리즘은 맞는데 시간 초과가 날 때
1. python3를 pypy로 바꿔서 돌려본다.
2. 입력받을 때, for문 대신 list(map()) 을 사용하여 한번에 저장한다.
7. 알고리즘은 맞는데 메모리 초과가 날 때
import sys 선언하고
1. input()대신 sys.stdin.readline() : 띄어쓰기와 \n까지 포함하므로 split()을 이용하는 것이 더 좋다. 여러 줄을 입력받으려면 sys.stdin을 이용한다.
2. print() 대신 sys.stdout.write(): write는 반드시 str로 형변환해주어야 출력할 수 있다. 띄어쓰기, 줄바꿈 없이 이어서 출력하므로 출력 형태에 유의해서 "\n"을 추가해준다.
8. dictionary로 저장하고 정렬할 때
dict은 sort가 안된다. 그래서 tuple형태로 바꿔주는 items method를 사용한다.
# value 내림차순, key 오름차순
num=sorted(num.items(), key=lambda x:( -x[1], x[0] ) )
# The items() method returns a view object that displays a list of dictionary's (key, value) tuple pairs.
9. dictionary에 해당 key가 있는지 탐색할 때
"if key in dictionary" 를 사용한다. (dict is impletmented as hash table, O(1))
소통하고 싶은 내용이 있으면 언제든 댓글주세요.
'Coding Test(Algorithms)' 카테고리의 다른 글
[JAVA] 입출력 예제 - 백준 1000 (0) | 2021.06.15 |
---|---|
[Python] 백준 11576 - Base Conversion, 반례,오답 피드백 (0) | 2021.02.02 |
[Python] 백준 문자열(Strings), Linked-Lists 문제 풀이 팁(tip) 정리 (0) | 2021.01.29 |
[Python] 백준 Stack/Queue/Deck 문제 풀이 팁(tip) 정리 (0) | 2021.01.28 |
Greedy1. 프로그래머스 체육복 (파이썬 풀이) (0) | 2020.09.23 |