CS 24

[백준] 15903번 : 카드 합체놀이

문제 석환이는 아기다. 아기 석환이는 자연수가 쓰여져있는 카드를 갖고 다양한 놀이를 하며 노는 것을 좋아한다. 오늘 아기 석환이는 무슨 놀이를 하고 있을까? 바로 카드 합체 놀이이다! 아기 석환이는 자연수가 쓰여진 카드를 n장 갖고 있다. 처음에 i번 카드엔 ai가 쓰여있다. 카드 합체 놀이는 이 카드들을 합체하며 노는 놀이이다. 카드 합체는 다음과 같은 과정으로 이루어진다. x번 카드와 y번 카드를 골라 그 두 장에 쓰여진 수를 더한 값을 계산한다. (x ≠ y) 계산한 값을 x번 카드와 y번 카드 두 장 모두에 덮어 쓴다. 이 카드 합체를 총 m번 하면 놀이가 끝난다. m번의 합체를 모두 끝낸 뒤, n장의 카드에 쓰여있는 수를 모두 더한 값이 이 놀이의 점수가 된다. 이 점수를 가장 작게 만드는 것이..

CS/문제풀이 2021.04.25

[백준] 18115 : 카드 놓기

문제 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 1. 제일 위의 카드 1장을 바닥에 내려놓는다. 2. 위에서 두 번째 카드를 바닥에 내려놓는다. 카드가 2장 이상일 때만 쓸 수 있다. 3. 제일 밑에 있는 카드를 바닥에 내려놓는다. 카드가 2장 이상일 때만 쓸 수 있다. 수현이는 처음에 카드 N장을 들고 있다. 카드에는 1부터 N까지의 정수가 중복되지 않게 적혀 있다. 기술을 N번 사용하여 카드를 다 내려놓았을 때, 놓여 있는 카드들을 확인했더니 위에서부터 순서대로 1, 2, …, N이 적혀 있었다! 놀란 수현이는 처음에 카드가 어떻게 배치되어 있었는지 궁금해졌다. 처음 카드의 상태를 출력하여라. -..

CS/문제풀이 2021.04.25

유용한 python 내장함수

1. map iterable객체(list. tuple, dict, set)를 받아서 각 요소에 함수를 적용시켜주는 함수 2. split 특정문자를 기준으로 문자열을 분리해주는 함수 3. sorted - iterable 객체가 들어왔을 때,정렬된 결과를 반환한 함수 - 시간 복잡도를 고려하지 않아도 되는 간단한 경우 - key 속성으로 정렬기준을 명시, 'reverse' 속성으로 역정렬도 가능한 강력한 내장함수 4. 연산 관련 내장함수 5. 기타 내장 함수 6. math 라이브러리 7. itertools : 반복 관련(확통) 8. bisect : 정렬된 배열에서의 탐색 인덱스 찾는 함수 - bisect.bisect_left : 리스트가 정렬된 순서를 유지하도록 데이터를 삽입할 왼쪽 위치의 인덱스 - bis..

코테용 최소 필요 자료구조 개괄

1. 스택 LIFO(Last In First Out)구조 : 가장 마지막에 들어간 원소가 가장 먼저 나옴 리스트를 사용해 구현 알 수 있는 값은 맨 위의 값 : 맨 위에 새 값을 쌓아 올리거나 맨 위에 있는 값을 빼거나 삽입/삭제 삽입 : push 연산 / 삭제 : pop 연산 / 맨위의 값을 보는 연산 : top 연산 파이썬에 따로 라이브러리가 있진 않고 리스트를 스택처럼 사용 O(1) 2. 큐 FIFO(First In First Out) : 가장 먼저 들어갔던 값이 가장 먼저 나온다 2.1 덱 앞 뒤로 모두 출입 가능 파이썬에서 기본으로 제공해주는 collections 모듈의 deque 클래스 사용 : 양방향 연결리스트로 구현되어 있어서 리스트보다 출입 연산에 효율적 : deque가 pop에 O(1)..

반응형