input, map, print
isdecimal ≤ isdigit ≤ isnumericisdigit
map, lambda 함수
소수판별 여러가지 방법
객체에는 mutable한 객체와 immutable 한 객체가 있다. 객체 구분 표\-> mutable 한 객체에는 list, set, dict 이 있다.mutable 한 객체는 원소를 변경해도 변수의 메모리 주소값은 변하지 않는다. b에 a 를 할당하면 b를 변경 시
복잡도시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘 수행 시간 분석공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석동일한 기능을 수행하는 알고리즘이 있다면, 일반적으로 복잡도가 낮을수록 좋은 알고리즘가장 빠르게 증가하는 항만을 고려하는 표기
기본 입출력 input() : 한 줄의 문자열을 입력 받는 함수 map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용 공백을 기준으로 구분된 데이터를 입력 받을 때 list(map(int, input().split())) 공백을 기준으로
투포인터 알고리즘 투포인터 알고리즘은 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘을 의미 1,2,3,4,5 번 학생을 지목할 때 '2번부터 4번 학생' 이라고 부르기 위해 시작점과 끝점 2개의 점으로 접근하는 데이터 범위를 표현
우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조, 데이터를 우선순위에 따라 처리하고 싶을 때 사용합니다. 예시 ) 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건부터 꺼내서 확인해야 하는 경우자료구조 종류와 추출되는 데이터스택 (Stack) : 가장 나중
주어진 숫자 중 k개로 만들 수 있는 숫자 리스트를 구하기그 중 max 값 찾기1번은 결국 len(number) - k 개로 만들 수 있는 숫자들의 리스트라고 생각했고 combinations 을 써서 풀면 되는 문제라고 생각했다!이렇게 풀어서 제출하니 시간초과가 떴다
https://leetcode.com/problems/first-bad-version/?envType=study-plan&id=algorithm-i
https://leetcode.com/problems/binary-search/?envType=study-plan&id=algorithm-i
처음 풀이맨 마지막 인덱스가 피봇일 때를 고려해야하는 코드라서 하드코딩 느낌 ..? 수정한 풀이sum 연산을 최소화 하기 위해 미리 전체 리스트의 합을 rightsum 변수로 담아두고 원소를 하나씩 빼는 방식시간이 8550 ms 에서 149 ms 로 줄었다.
내 풀이수정한 풀이list comprehension 과 for 문은 생각보다 별 차이 없다.sum 연산을 계속 수행하게 하는 것 보다 더한 값을 변수로 저장해 놓는 것이 더 효율적이다.
링크 : https://leetcode.com/problems/isomorphic-strings/?envType=study-plan&id=level-1zip(), set() 활용 잘 하자!접근 방식과 구현 방식 계획을 잘 세우고 시작하자
참고 : https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=python3