본문 바로가기

전체 글

(679)
정렬. [20920] [1. 문제 설명]https://www.acmicpc.net/problem/20920[2. 풀이 접근]기본적인 접근중복된 단어를 체크할 때, multiset 이나 map 을 이용해서 카운트multiset 보다는 map 을 이용하는게 나을지도,key 를 string, value 를 중복된 개수성능 개선문제에 제시된 정렬 우선순위과 관계 없이, 입력된 문자열 배열을 단어 순으로 정렬하면, 중복된 단어는 서로 인접해 있다는 것을 이용하도록 한다.[3. 코드]
부분합. [25682] [1. 문제 설명]https://www.acmicpc.net/problem/25682[2. 풀이 접근] 완전 탐색모든 구간에 대해서, 색칠해야 할 개수를 확인 후 최소값을 업데이트 해나가는 방법위 방식은 3중 for 문을 유도하며, N, M, K 가 최대 2000 까지이므로, 1초 안에 계산하기 어려움,그러나, 모든 구간에 대해서는 확인 해봐야 함.# 어떤 구간이 최소가 될지는 알 수 없기 때문,즉, 특정 구간에 대해서 (crop? 한 영역) 에서 몇번 색칠 할 지를 logn 이하로 확인 할 수 있어야 한다.결과의 특성문제 조건 상, K*K 로 잘라내고, 색칠한 형태는 아래와 같은 두가지 구조만 갖는다.(y, x) = (1, 1) 위치가 검정색인 경우 => Case A(y, x) = (1, 1) 위치가 ..
기타 입력 처리 (map) [1. 개요]문자열을 특정 문자로 split 한 후, 이를 하나의 리스트로 묶고자 할 때 참조하는 함수(?).[2. 선언부]class map( func: (_T1@__new__) -> _S@map, iter1: Iterable[_T1@__new__], /) func 와 iterate 가능한 대상을 입력으로 받는다.[3. 예제]import sysdef factorial(v: int) -> int: if v