[백준/Python] #1920 : 수 찾기 - 이분탐색
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 교재 실전문제 2번의 7-5번 풀이와 아주 유사한 문제 유형! 이어서 여유를 가지고 풀어봤 지만 ㅋ ?뭐가 틀린거임? 교재 코드 거의 똑같이 참고했구만 보니까 우선 15번째 줄에서 들여쓰기가 잘못됨. while문을 다 돌고 나와서 답을 찾을 수 없으면 그때 None을 반환하는게 맞음. 근데 이렇게 고치고 제출했더니 시간초과 뜨고 런타임 에러도 뜨고...
[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, ..
해안해
'알고리즘' 카테고리의 글 목록 (3 Page)