목록코테 공부/알고리즘 (20)
dmswl
1️⃣ 리스트 컴프리헨션(List Comprehension) : 기존 리스트를 기반으로 새로운 리스트를 만들어내는 구문. map과 filter 대신 리스트 컴프리헨션을 사용하자. 리스트 컴프리헨션은 다방면에 유용하게 활용되며, 무엇보다 람다 표현식에 map이나 filter를 섞어서 사용하는 것에 비해 가독성이 훨씬 높다. ex) 홀수이면 2를 곱해 출력하라는 리스트 컴프리헨션 [n * 2 for n in range(1, 10+1) if n % 2 == 1] 순서 입력할 데이터의 형태 for 문 if-elif-else조건문 2️⃣ 리스트 컴프리헨션을 쓰는 이유 1. 코드의 간결화(코드 라인 수 ↓)2. 별도의 리스트 변수 생성 X 3️⃣ 리스트 컴프리헨션 사용 시 주의점 한 줄로 간결하게 작성할 수 있어 ..

문제 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다. 각각은 적어도 길이가 1 이상인 단어여야 한다. 이제 이렇게 나눈 세 개의 작은 단어들을 앞뒤를 뒤집고, 이를 다시 원래의 순서대로 합친다. 예를 들어, 단어 : arrested 세 단어로 나누기 : ar / rest / ed 각각 뒤집기 : ra / tser / de 합치기 : ratserde 단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자로 된 단어가 주어진다. 길이는 3 이상 50 이하이다. 출력 첫째 줄에 구..
문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 때, ..

문제 1. 승리카드 카드들이 N × M 형태로 놓여 있을 때, 게임의 룰에 맞게 승리한 카드의 숫자를 출력하는 프로그램 을 작성하시오. [게임 룰] 1. N명의 투빅이들은 각각 M개의 숫자 카드를 골라 차례대로 한 줄 씩 일렬로 놓을 수 있다. 최종적으로 N × M 형태로 숫자카드들이 놓여진다. 여기서 N은 행의 개수를 의미하고, M은 열의 개수를 의미한다. 2. 먼저, 자신이 놓은 카드 M개 중 가장 작은 숫자 카드를 뽑는다. 3. 그 다음, N명의 투빅이들이 고른 가장 작은 숫자 카드 N개 중 가장 높은 숫자를 가진 투빅이가 승리한다. [입력 조건] - 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자연 수로 주어진다. - 둘째 줄부터 N개의 줄에 걸쳐 각 ..