728x90
728x90
하..1시간 넘게 애를 쓰다가 결국 답을 봤다. 나는 애초에 이코테 코드 기반으로 배열(리스트)인자끼리 비교해서 그룹을 만들어서 풀려고했다. 0011100 같은 경우는 0의 그룹 (연속적인 숫자의) 이 2개, 1의 그룹이 1개 일때는 그룹의 숫자가 더 작은거를 뒤집어주면 되고 11001100110011000001 같은 경우 역시도 0의 그룹 : 4 1의 그룹 : 5 이기 때문에 0을 바꿔주면 된다고 생각해서.. 그룹을 만들어서 하려고했는데 아무리 코드를 짜봐도 숫자의 수만 세는 코드를 만들고있었다... 기존 삽질 코드 ''' data = input() groupA =0 groupB =0 num_list = list(map(int,data)) num = num_list[0] for i in range(1,..
그리디 알고리즘 (탐욕법) - 현재 상황에서 가장 좋은것만 고르는 방법 - 그리디 알고리즘은 문제를 풀기위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다. - 그리디 해법은 그 정당성 분석이 중요하다. - 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토한다. 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다. 코테에서의 그리디 문제는, 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제됨. 그리디 모음 BOJ https://www.acmicpc.net/workbook/view/4380 문제집: 코딩 테스트 완전 정복 - Greedy(그리디), 탐욕 필수 문제 (park780172) www.acmicpc.net 거스름 돈:..
기본 입출력 자주 사용되는 표준 입력 방법 - input() : 한줄의 문자열을 입력받는 함수 - map() : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용한다. - 예시) #공백을 기준으로 구분된 데이터의 개수가 많을때 list(map(int,input().split())) #공백을 기준으로 구분된 데이터의 개수가 적을때 a,b,c = map(int,input().split()) 빠르게 입력받기 - sys라이브러리에 정의되어있는 sys.stdin.readline() 메서드 이용하자. - 엔터가 줄바꿈 기호로 입력되므로, rstrip() 메서드 함께 사용하자. import sys # 문자열 입력받기 data = sys.stdin.readline().rstrip() print(data) 자주 ..
python 수업을 2번이나 들었는데......또 다시....(나는 바보입니다) 자료형 정수, 실수, 복소수, 문자열, 리스트, 튜플 정수형 - 양의 정수, 음의 정수, 0 실수형 - 소수점 아래의 데이터를 표현하는 수 자료형 - .n 으로도 표현 가능 - 실수 값 반올림 round(), round(소수,n째자리) 지수 표현 방식 - e나 E를 이용한 지수 표현 방식을 이용할 수 있다. - e나 E다음에 오는 10의 지수부를 의미한다. - 1e9라고 입력하게 되면 10의 9제곱 - 최단경로 알고리즘에서는 도달할 수 없는 노드에 대하여 최단 거리를 무한(INF)으로 설정하곤 한다. - 이때 가능한 최댓값이 10억 미만이라면 무한의 값으로 1e9(10억)을 사용가능 기본 실수형으로 처리되기때문에 정수형 데이..
https://www.youtube.com/watch?v=m-9pAwq1o3w&t=5367s GitHub - ndb796/python-for-coding-test: [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - GitHub - ndb796/python-for-coding-test: [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소 github.com 온라인 코테를 위한 개발환경 준비 repl, 파이썬 튜터, 파이참 개발과는 차이점이 있기 때문에 온라인 개발 환경이용 + 깃헙에 올리는 방 그리디 구현 DFS/BFS를 이용한 탐색 탐색 DP 구현 문자 가 ..