[Python] 리스트 요소 [] 대괄호 없이 한번에 출력하기
·
알고리즘/Python
arr = [1, 2, 3, 4] print(*arr) # 1 2 3 4 * 붙여주기! 이렇게 하면 for문을 쓰지 않아도 리스트 안의 요소들만 꺼내서 한 줄에 한 번에 출력할 수 있다. print(*sorted(arr)) 와 같이 응용해서 사용할 수도 있다! 백준 문제 #11650, #11651, #10814 풀면서 사용한 방법인데 나름 유용(?)한 것 같아서 간단히 정리해봄.
[백준/Python] #2309 : 일곱 난쟁이
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 9명 중 7명을 골라서 그 7명의 키를 합친 값이 100일 경우를 찾으면 될 것 같아서 "조합"을 떠올렸고, 관련 라이브러리를 검색하여 사용해보기를 먼저 시도하였다. 근데 잘 안돼서 구글링으로 나랑 비슷하게 접근한 코드를 조금 참고함. import itertools array = [int(input()) for _ in range(9)] for i in itertools.combinations(array,..
그래프 탐색 알고리즘 DFS/BFS 차이점 및 특징
·
알고리즘
그래프 탐색 알고리즘 이해하기그래프: 여러 개체들이 연결되어 있는 자료구조탐색: 특정 개체를 찾기 위한 알고리즘 DFS, BFS를 드라마를 볼 때로 비유하자면드라마 한 개를 끝나길 기다렸다가 몰아본다 = DFS (깊이 우선 탐색)드라마 여러 개를 하나씩 다 챙겨본다 = BFS (너비 우선 탐색) 대표적 문제 유형 1. 경로 탐색 유형 A 지점부터 B 지점까지의 최소 거리 구하기, 최단 시간 구하기 2. 네트워크 유형 여러 개체들이 주어진 상태에서 연결되어 있는 그룹의 개수 구하기, 두 개체가 같은 네트워크 안에서 연결되어 있는지 확인하기 3. 조합 유형 여러 가지의 조합을 전부 만들고 비교해보기 프로그래머스의 타겟 넘버, 네트워크, 단어 변환, 여행경로 등의 문제를 보고 DFS/BFS 를 떠올렸다면? =..
[백준/Python] #1260 : DFS와 BFS - DFS/BFS
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS/BFS 유형 문제 중에 가장 기초적인 문제이다. 이론을 이해하고 났다면 금방 풀 수 있는 문제지만 혹시나 알고리즘 공부가 아예 처음이거나, 문제에 적용하려고 하니 낯선 분들을 위해 베이스로 알면 좋은(?) 개념을 조금 정리해보았다. 덱(deque) 사용법 - 초기화 deque(iterable, [, maxlen])를 사용해 초기화 from collect..
[백준/Python] #2941 : 크로아티아 알파벳 - 구현
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 외 않 되 https://ooyoung.tistory.com/74 비슷하지만 올바른 코드..를 찾았어요 아깝다 ㅎ word = input() c_alpha = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] cnt = 0 for a in c_alpha: if a in word: word = word.replace(a, ..
[백준/Python] #13305 : 주유소 - 그리디
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 처음에 문제를 제대로 이해를 못해서 접근을 잘못했었는데 생각하다보니 복잡해져서 결국 또 구글링 on. Key Point는 각 도시 간의 거리를 모두 합한 값 = 주유해야 하는 양 (1km 이동 시마다 1리터 사용하므로) 최소 비용으로 주유를 해야하므로 기름값이 가장 싼 도시에서 주유를 많이 하면 좋은 것 처음에는 기름값이 싸든 비싸든 무조건 주유를 하고 시작해야 함 가장 싼 기름값을..
해안해
개화