문제 https://programmers.co.kr/learn/courses/30/lessons/42861 풀이 및 소스코드 cost[i][j][2] 즉, 비용을 기준으로 오름차순으로 정렬 후, 유니온 파인드 함수를 사용해서 같은 사이클에 있는 섬이 아니라면 연결해주는 방식으로 풀었다. 유니온 파인드란 각 점이 연결되어있는지 연결되지 않는지 부모를 확인해주고, 연결되있지 않다면 연결해주는 자료구조이다. 설명은 아래에 자세히 나와있다! https://jainn.tistory.com/87 유니온 파인드(UNION-FIND) 파이썬 구현 유니온 파인드(Union-Find)는 트리형태를 갖는 자료구조이다. 합집합 찾기 및 상호 배타적 집합(Disjoint-set)이라고도 한다. 이름 그대로 상호 배타적인 부분 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 및 소스코드 딕셔너리에 넣어서 비교해준 후 조건에 부합하면 answer에 넣는 방식으로 풀었다. from itertools import combinations def solution(orders, course): answer = [] for cou in course: candi = {} for order in orders: combi = combinat..
문제 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 및 소스코드 굉장히 쉬운 문제다. set 함수를 사용해 중복없이 nums를 새로운 배열에 담은 다음에, 그 배열의 길이가 n/2 보다 길다면 n/2를 answer에 담고, 짧다면 배열의길이를 answer에 담으면 된다. def solution(nums): answer = 0 s_nums = set(nums) if (len(s_nums)>=(len(n..
잔디밭을 열심히 가꿔보려고 했는데, 얼마 전 부터 한 repository에 대해서 잔디가 안심어지는 현상 발생 ㅠㅠㅠㅠㅠㅠ 너무 마음이 안좋은 나머지 검색 시작했다. ㅠㅠㅠㅠㅠ private 저장소였다면, 잔디밭 우측 상단에 private는 꺼뒀는지를 확인해보자 ! 나는 이렇게 꺼져있었다 ... 하하핳ㅎ ..... 그래서 잔디밭이 보이지 않았던 것,,,, 그것도 모르고 이메일만 죽어라 바꾸었다 .. ㅎ 난 진짜 아직 깃린이 인정이댜 .. ㅠ
문제 www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 풀이 및 소스코드 k의 최댓값이 10000이기 때문에 dp 리스트를 10001으로, 0원을 택하는 방법은 없으므로 dp[0] = 0으로 초기화시킨다. 동전의 최소 갯수를 구해야하기때문에 dp[j] 와 dp[j-coin[i]]+1 을 비교해서 최솟값을 넣도록한다. import sys input = sys.stdin.readline n, k = map(int, input().sp..
문제 www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 풀이 및 소스코드 방문하지 않았고, 벽이 아니라면 덱 앞쪽에 두고, 벽이라면 덱 뒤쪽에 추가하여 bfs를 돌려준다. import sys from collections import deque input = sys.stdin.readline m, n = map(int, input().split()) miro = [list(map(int,input().rstrip())) for _ in r..
파이썬으로 알고리즘 문제를 풀다가 문뜩 파이썬에 대해 개념은 알아야할 것 같아서 쓰는 글이다. 인터프리터 Python에 대해 알아보기 전에 인터프리터에 대해 알아보자면, 소스코드를 기계어로 컴파일해서 실행파일을 만들고 실행하는 컴파일 언어와는 달리 인터프리터 언어는 코드를 한 줄씩 읽어 내려가며 실행하는 프로그래밍 언어이다. Python은 인터프리터 방식을 사용하는 프로그래밍 언어이다. 인터프리터의 장점 인터프리터는 실행 시마다 소스 코드를 한 줄씩 기계어로 번역하는 방식이기 때문에 실행 속도는 컴파일 언어보다 느리다. 하지만 프로그램 수정이 간단하다. 컴파일러는 소스 코드를 번역해서 실행 파일을 만들기 때문에 프로그램에 수정 사항이 발생하면 소스 코드를 다시 컴파일 해야한다. 인터프리터는 소스 코드를 ..
문제 www.acmicpc.net/problem/14650 14650번: 걷다보니 신천역 삼 (Small) 욱제는 ‘삼’이란 음절을 참 좋아한다. 인삼, 홍삼, 해삼, 삼성, 이춘삼(李春森), 삼식이, 삼시세끼, ㄴㄴ 그거 안 삼, 삼과 죽음, 알았삼, 금강삼도 식후경, 걷다보니 신천역 삼, 그리고 특히 일 www.acmicpc.net 풀이 및 소스코드 맨 큰 자리수에 0이 들어가지 않는 것만 주의해서 풀면 된다. 한자리씩 차곡차곡 쌓아가되, 만든 수의 자리수와 입력받은 n이 같으면 함수가 끝나도록 재귀를 돌린다. import sys sys.setrecursionlimit(1000000) N = int(input().rstrip()) res = 0 def make_num(n, sum): global re..
- Total
- Today
- Yesterday
- 우분투
- swea 1240
- 3996 자바
- swea 4070 타일링
- SWEA
- 백준파이썬
- ubuntu
- 메뉴리뉴얼 풀이
- 프로그래머스 더 맵게
- 삼성청년SW아카데미
- poker swea
- 백준 풀이
- swea 타일링 자바
- union-find
- 더 맵게
- 1240 자바
- 프로그래머스
- 백준 17144
- 1699 자바
- 백준
- 프로그래머스 파이썬
- swea 타일링
- 파이썬 풀이
- SSAFY
- yoloV3
- 파이썬
- swea 1240 자바
- 프로그래머스 자바
- 타일링 자바
- 백준 dp 문제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |