일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- 퀵정렬
- LinkedList
- 파싱
- 코테
- 우선순위 큐
- 코테준비
- heap
- 해시함수
- 연결리스트
- 코딩테스트
- divide and conquer
- 자료구조
- 트라이
- Timsort
- 스터디
- collections.sort
- 스택
- 거품정렬
- 선택정렬
- 프로그래머스
- 삽입정렬
- MSA
- 이진트리탐색
- stack
- 힙
- 15552번
- 분할정복
- 큐
- 팀정렬
- Today
- Total
Little bIT awesome
[프로그래머스] 코딩테스트 스터디 2일차 본문
분수의 덧셈
math 라이브러리 이용하기
최대 공약수 구하는 함수 math.gcd()
최소 공배수 구하는 함수 math.lmc()(파이썬 3.9부터 사용가능)
라이브러리 import 없이 풀기
for문으로 최대공약수 구하는 법 익히기
배열 두 배 만들기
리스트 속에 for문 쓰는거 익숙해지기
lambda식 익숙해지기
중복된 숫자 개수
array.count()로 배열 속 원소의 개수를 셀 수 있다.
중앙값 구하기
배열 정렬하기
1. array.sort(): array자체를 변화시킴
2. sorted(array): 매개변수로 결괏값을 받아야 한다.
최빈값 구하기
배열을 만들어서 해당 원소의 인덱스에 count해준다음 최댓값을 가진 인덱스를 구한다.
최댓값이 1개가 아니라면 -1을 리턴
근데 이렇게 풀면 공간이 많이 소비될 것 같음
다른 사람의 풀이를 보자
enumerate() 인덱스와 원소로 이루어진 튜플을 반환해줌
와... 이걸 어케 생각함
다른 블로그를 참고해서 이해한 바를 적어보자면 다음과 같다.
set로 변환하면 중복이 제거된다. ex) [1, 2, 3, 3, 3, 4] -> [1, 2, 3, 4]
중복이 제거된 원소들을 enumerate하면서 '배열'에서 remove하기
남은 원소들은 사라진 원소보다 빈도수가 높은 원소일 것.
마지막으로 남은 원소가 1가지라면 i 즉 집합의 인덱스는 0일 것이고 조건에 부합하여 a를 리턴한다.
마지막으로 남은 원소가 1가지가 아니라면 집합의 인덱스는 0이 아닐 것이고 조건에 부합하지 않아 for문의 처음으로 돌아간다. 그런데 배열의 길이가 0이므로 while문의 조건에도 부합하지 않아 -1이 리턴될 것이다.
특정 문자 제거하기
string에는 remove가 안된다. append도 안된다. 그냥 + 로 붙여야 한다.
다른사람 풀이 참고해보니 replace로 letter를 ''로 대체하기도 하더라 진짜 똑똑이들..
문자 반복 출력하기
한줄로 하는거 너무 깔끔하네요.. 맨날 여러줄 for문만 주구장창 씀 다른 방식으로 풀어보는거 연습해보기
제곱수 판별하기
하긴했는데 시간 겁나 오래걸리는 풀이인듯
n ** 1/2 : 루트 씌운거랑 똑같음
그래서 이런식으로도 푸는듯!
자릿수 더하기
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 코딩테스트 스터디 6일차 (0) | 2023.07.14 |
---|---|
[프로그래머스] 코딩테스트 스터디 5일차 (0) | 2023.07.13 |
[프로그래머스] 코딩테스트 스터디 4일차 (0) | 2023.07.12 |
[프로그래머스] 코딩테스트 스터디 3일차 (0) | 2023.07.12 |
[프로그래머스] 코딩테스트 스터디 1일차 (0) | 2023.07.09 |