list 16

최소직사각형

문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다. 모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다. 모든 명..

서울에서 김서방 찾기

문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다. 해결 방법 1. seoul 리스트 안에 "Kim" 문자열의 인덱스를 찾는다. 2. 지정된 문장안에 인덱스를 포함시켜 반환한다. def solution(seoul): i = seoul.index("Kim") answer = f"김서방은 {i}에 있다" return ..

짝수와 홀수 3가지 풀이법(if, dict, list) 그리고 bitwise

문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 해결 방법 def solution(num): # 첫 번째 방법 : if-삼항연산자 return "Odd" if num % 2 == 1 else "Even" # 두 번째 방법 : dict-key return { 1 : 'Odd', 0 : 'Even'}[num % 2] # 세 번째 방법 : list-index return ["Even", "Odd"][num & 1] # or [num % 2] 이 문제는 보자마자 1분 만에 풀었다. (홀짝? 이건 너무 쉽잖아!) 처음 푼 방법은 if-삼항연산자였다. % 연산자를 이..

Set (vs) Dictionary 그리고 List (vs) Tuple 차이점은? (Python)

파이썬에는 여러 종류의 자료형이 있는데 그 중에서 Set, Dictionary, List, Tuple 자료형에 대한 차이점을 살펴보자. Set 과 Dictionary 의 차이 이 둘의 공통점은 다음과 같다. 중복값을 없애줌 {} 를 사용함 그렇다면 차이점은? Dict 는 Set 과 달리 키와 값이 있다! Set의 경우, 보통 list의 중복값 삭제용으로 사용하는 편이다. Dict 는 키워드로 값을 찾기 위해 사용한다. List, Tuple 의 차이 이 둘의 공통점은 다음과 같다. 어떠한 자료형이든 안에 값으로 저장할 수 있다. dict와 달리 키와 값을 가지지 않는다. (값으로만 저장) 안에 리스트나 튜플을 추가하여 다차원 리스트를 만들 수 있다. 중복된 값도 넣을 수 있다. 그렇다면 차이점은? list..