본문 바로가기

분류 전체보기269

[programmers] 프로그래머스 위클리 챌린지 : 피로도 프로그래머스 위클리 챌린지 : 피로도 문제 : https://programmers.co.kr/learn/courses/30/lessons/87946 코드 완전탐색 가능한 경우의 수 만큼 던전을 차례로 탐험하며 탐험할 수 있는 던전 수를 이전의 값과 비교해 탐험할 수 있는 최대 던전 수를 갱신한다. 그리고 탐험할 수 있는 최대 던전 수를 출력한다. answer = -1 def backtracking(k, dungeons, count, is_used): global answer if count > answer: answer = count now = k for i in range(len(dungeons)): if not is_used[i]: if now >= dungeons[i][0]: now = now - .. 2021. 12. 21.
[programmers] 프로그래머스 위클리 챌린지 : 교점에 별 만들기 프로그래머스 위클리 챌린지 : 교점에 별 만들기 문제 : https://programmers.co.kr/learn/courses/30/lessons/87377 코드 찾은 정수 교점들을 y값에 해당하는 x값들을 리스트 형태로 만든다. y값은 key가 되고 y값에 해당하는 x값들의 리스트가 value가 되는 dictionary이다. dictionary는 y값(key)을 기준으로 내림차순으로 정렬한다. dictionary에 저장된 y값의 최댓값부터 최솟값까지 내려가며 결과를 출력한다. dictionary의 첫 요소를 꺼낸다. 현재 y의 위치가 위에서 꺼낸 요소의 y 인 경우 꺼낸 요소에 포함된 x, y교점인 경우만 "*"를 출력하고 그 외의 좌표에서는 "."를 출력한다. y범위 안에서 출력되는 한 행의 길이는.. 2021. 12. 21.
[programmers] 프로그래머스 위클리 챌린지 : 최소직사각형 프로그래머스 위클리 챌린지 : 최소직사각형 문제 : https://programmers.co.kr/learn/courses/30/lessons/86491 코드 가로 세로 방향을 바꿔서 넣을 수 있다. 그러므로 만약 가로 < 세로 이면 가로, 세로 중 큰 값을 가로에 작은 값을 세로에 바꿔 저장한다. def solution(sizes): answer = 0 max_w = 0 max_h = 0 for w, h in sizes: if w < h: w, h = h, w max_w = max(w, max_w) max_h = max(h, max_h) answer = max_w * max_h return answer 2021. 12. 21.
[python] 파이썬 sequence 자료형 파이썬 sequence 자료형 sequence 자료형 : 값이 연속적으로 이어진 자료형 list tuple range str bytes bytearray 시퀀스 객체 : 시퀀스 자료형으로 만든 객체 요소 (element) : 시퀀스 객체에 들어있는 각각의 값 list1 = [1, 2, 3, 4, 5] list1 = 시퀀스 객체 1, 2, 3, 4, 5 = element l = [0, 10, 200, 3000, 40000] t = (1, 2, 3, 4, 5, 6, 7) r = range(5) s = "hello" 200 in l 40 in l 40 not in l 7 in t 4 in r 5 in r "h" in s 참고 : https://dojang.io/mod/page/view.php?id=2205 h.. 2021. 12. 19.
[python] 파이썬 숫자 각 자리수 분리 파이썬 숫자의 각 자리수 분리 방법 number = 12345 num_list = list(map(int, str(number))) print(num_list) map함수 참고 : 2021.10.25 - [python] - [python] 파이썬 람다 함수 사용하기 (python lambda expression) 2021. 12. 17.
[BOJ] 백준 15649번 : N과 M (1) 백준 15649번 : N과 M (1) 문제 : https://www.acmicpc.net/problem/15649 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 코드 백트래킹 문제 백트래킹 : 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘. backtracking(k) 는 arr(k) 를 .. 2021. 12. 17.