[백준/Python] #9095 : 1, 2, 3 더하기 - 다이나믹 프로그래밍
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 아무것도 안보면서 푸는 동안 너ㅓㅓ무 어려웠다... 다이나믹 프로그래밍 너무 어렵다ㅠㅠ 솔직히 말하면 교재에 있는 예제들도 완전 100프로 이해가는건 아님... 그래도 이렇게라도 풀다보면(아직까진 푸는게 푸는게 아닌 단계이지만,,) 조금씩이라도 발전하겠지ㅠ! 머리가 터질 것 같아서 결국 언제나처럼 구글링의 힘을... 빌림 (ㅠ나약한 나ㅠ) 블로그 두 개정도만 참고해도 원리를 대충 알게 됨.. 알고리즘의 흐름? 작동 원리랄까? 그 과정이 잘 납득되지가 않는 거같음 이 파트는 정말 창피하지만 지금까..
[백준/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] #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,..
[백준/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리터 사용하므로) 최소 비용으로 주유를 해야하므로 기름값이 가장 싼 도시에서 주유를 많이 하면 좋은 것 처음에는 기름값이 싸든 비싸든 무조건 주유를 하고 시작해야 함 가장 싼 기름값을..
해안해
'알고리즘/백준 풀이' 카테고리의 글 목록 (2 Page)