Loading...
2022. 7. 25. 02:10

enumerate의 숨겨진 비밀

enumerate가 index와 원소를 동시에 열거해서 (ind,원소)로 순회할 수 있다는거 기본인데 for ind, e in enumerate(int_list): print(ind) print(e) 하지만 때로는 index가 1부터 시작하고 싶을 때가 있다. 이럴때 for ind,e in enumerate(int_list): ind += 1 print(ind) print(e) 이러지말고 enumerate(int_list,start = 1)로 start 옵션에 시작하고 싶은 값을 주면 된다 예시 코드) members = ['민수', '영희', '철수'] for idx, member in enumerate(members, start=1): print(idx, member) 1 민수 2 영희 3 철수

2022. 7. 18. 03:05

조건문, while 반복문, for 반복문 맛보기

1. 조건문 "만약 a라면 b해줘 아니라면 c해줘" 4칸 들여쓰기를 이용해서 해당 조건에서 실행하고 싶은 문장들을 구분한다. 들여쓰기 칸이 같은 부분은 모두 수행한다는 이야기 예를 들어 dust가 50보다 크면 "50 초과"를 출력하고 그렇지 않다면 "50 이하"를 출력하라면? if dust > 50: print("50 초과") else: print("50 이하") 둘 중 하나를 충족하면 다른 문장은 수행하지 않는다는 점이 중요하다 2. 여러개의 조건문 "만약 a이면 b해줘, 그게 아니라 c이면 d해줘, 모두 아니면 e해줘" elif를 사용해서 여러개의 조건을 계속 추가할 수 있다 if a: b elif c: d elif e: f elif g: h else: i 이런식으로 완전 많이 여러개도 가능 3. ..

최소비용으로 목표한 금액을 생산하는 방법은?

1. 문제 화폐가 1원, 5원, 10원, 50원, 100원, 500원으로 6종류가 있다. 목표하는 생산 금액 money가 주어지고 주어진 화폐 6종류의 생산 단가가 배열로 costs로 주어진다. money만큼 화폐를 생산하는데 최소비용을 return하는 알고리즘을 작성한다면? 2. 내가 생각한 풀이 목표로 하는 금액 money를 target이라는 새로운 변수에 복사하고 money_list를 500부터 1원까지 거꾸로해서 리스트로 만든다 money_dict로 금액을 key로 해당 금액의 생산단가를 value로 하는 사전을 만든다 prod_list는 각 화폐를 몇개 생산해야하는지 나타낸 변수 def solution(money, costs): from collections import deque answer ..

2022. 1. 2. 00:45

논리적으로 차분하게 코딩하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다 다트 게임은 총 3번의 기회로 구성된다 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨시 점수에서 ..

반복문에서 경우의 수를 나누는 방법

1. 문제 여러개의 음료수가 준비되어 있는데 각 음료수가 a개있고 1개당 b리터만큼 존재하고 1개당 c 칼로리의 열량을 가진다. 주어진 음료수에 대한 정보가 담겨있는 배열의 각 원소가 [a,b,c] 형태로 주어지고 p리터만큼 음료수를 마시고자 한다. 최대로 열량을 섭취하고자 할 때 최대 열량을 return하도록 함수를 완성한다면? 단, p리터 이전에 한번 마시기 시작한 음료수는 끝까지 다 마셔야한다고 가정한다. 그리고 한번에 a개의 음료수를 모두 마실 필요 없이 a개중 일부만 마시고 다른 음료수를 마신 다음에 못마신 음료수를 다시 마셔도 된다. 예를 들어 [[3,1,1],[1,2,2]]의 음료수 정보가 주어지고 p=3리터만큼 마시고자 할 때 총 4칼로리의 최대 열량을 얻을 수 있다. 첫번째 3개 있는 음..

2021. 11. 19. 02:44

반복문을 줄이는 방법

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. 1) n행 n열 크기의 비어있는 2차원 배열을 만듭니다. 2) i = 1,2,3, ... , n에 대해서, 다음 과정을 반복합니다. ○ 1행 1열부터 i행 i열까지의 영역 내에서 모든 빈 칸을 숫..