TIL/Python 18

프로그래머스| 카드 뭉치

문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "i"를 사용한 후 ..

TIL/Python 2024.09.03

프로그래머스| 2016년

문제설명2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 나의 풀이) 1. weekday에 요일 이름을 리스트 형태로 저장> 처음에 FRI ~ THU 순서로 저장했다가 오류 발생. 1월 1일의 경우 금요일임.  day % 7 = 1일 경우 금요..

TIL/Python 2024.08.16

프로그래머스| 명예의 전당(1) (Python3)

문제 설명 "명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다. 이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수..

TIL/Python 2024.08.05

프로그래머스| 콜라 문제(Python3)

문제빈 병 a개를 가져다주면 콜라 b병을 주는 마트가 있을 때, 빈 병 n개를 가져다주면 몇 병을 받을 수 있는지 계산하는 문제입니다. 기존 콜라 문제와 마찬가지로, 보유 중인 빈 병이 a개 미만이면, 추가적으로 빈 병을 받을 순 없습니다. 상빈이는 열심히 고심했지만, 일반화된 콜라 문제의 답을 찾을 수 없었습니다. 상빈이를 도와, 일반화된 콜라 문제를 해결하는 프로그램을 만들어 주세요. 콜라를 받기 위해 마트에 주어야 하는 병 수 a, 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b, 상빈이가 가지고 있는 빈 병의 개수 n이 매개변수로 주어집니다. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요. 제한 사항1 ≤ b 정답은 항상 int 범위를 넘지 ..

TIL/Python 2024.08.02

프로그래머스| 푸드파이트 대회(Python3)

문제설명수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건을 ..

TIL/Python 2024.08.01

프로그래머스 <가장 가까운 글자>

나의 풀이)def solution(s):     answer = []    visited = {}     for i,j in enumerate(s):        if j in visited:             diff = i - visited[j] + 1             answer.append(diff)             visited[j] = i+1         else:            answer.append(-1)            visited[j] = i+1     return answerenumerate()를 사용해서 값과 순서를 이용, visited 딕셔너리에 값과 마지막으로 나왔던 인덱스를 저장하여 해결하였다.처음 나오면 -1, 또 나오면 마지막 위치를 가져와서 사용

TIL/Python 2024.07.19

TIL (7/15) <replace(), 문자열 기준대로 정렬하기, 최소 직사각형>

나의 풀이)def solution(s):     jj = { 'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3', 'four' : '4', 'five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9' }    for k,v in jj.items():        s = s.replace(k,v)         return int(s)딕셔너리에 키 값으로 영문, value로는 숫자를 넣어 replace 함수로 k값이 있으면 v로 바꿔주어 해결하였다.  나의 풀이)def solution(strings, n):     strings.sort()    strings.sort(key=lambda x:x[n..

TIL/Python 2024.07.15

TIL (7/12) <zip(), enumerate()>

zip()zip() 함수는 여러 개의 순회 가능한 객체를 인자로 받고, 객체가 담고 있는 원소를 튜플의 형태로 엮어서 반환함. 예시) def remove_duplicates_and_count(s): count = {}    for i in list(input_string):        if i in count: count[i]+=1         else: count[i] = 1     result_with_frequency = list(zip(count.keys(), count.values())) return result_with_frequency딕셔너리를 zip을 이용하여 튜플을 값으로 가진 리스트로 변환 enumerate()순서가 있는 자료형을 입력으로 받았을 때, 인덱스와 값을 포함한 튜플 자료..

TIL/Python 2024.07.12

TIL (7/11) <class, 불리언 인덱싱, 데코레이션, upper(), lower()>

클래스 기본 구조여기서 __init__ 메서드는 클래스의 생성자로, 객체가 생성될 때 호출되며 초기화 작업을 수행클래스 내부의 메서드들은 클래스의 동작을 정의하는 함수임.메서드의 첫 번째 매개변수로 self를 반드시 사용해야 함. 이는 해당 메서드가 속한 객체를 가리킴. 클래스의 속성과 메소드클래스(Class)는 객체(Object)를 생성하기 위한 템플릿이며, 메서드(Method)와 속성(Attribute)을 가질 수 있음.메서드(Method)클래스 내부에 정의된 함수를 말함.메서드는 클래스에 속한 함수, 특정 작업을 수행하거나 클래스의 상태를 변경하는 역할메서드는 일반적으로 클래스의 인스턴스(instance)에서 호출되며, 해당 인스턴스의 상태에 따라 동작일반적으로 self 매개변수를 첫 번째 매개변수..

TIL/Python 2024.07.11

TIL #12 <파일 불러오기, 패키지, lambda, filter, map>

1.파일 불러오기 및 저장하기1). 파일 확장자 - CSV 파일 (.csv) 데이터를 쉼표(,)로 구분하여 저장하는 형식 - Excel 파일 (.xls, .xlsx) 마이크로소프트 엑셀의 형식 - JSON 파일 (.json) 자바스크립트노테이션, 데이터를 저장하는 간단한 형식 - 텍스트 파일 (.txt, .dat 등) 2). 판다스에서 제공하는 함수를 이용하여 불러올 수 있음. - csv 파일의 경우 read_csv() 함수 사용 import pandas as pd df = pd.read_csv(파일경로) - Excel  파일의 경우 read_excel() 함수 사용 위의 코드에서 pd.read_excel(파일경로) 만 바꿔주면 됨. 아래도 위와 동일 - json 파일의 경우 read_json - 텍스트..

TIL/Python 2024.07.10