파이썬127 [Python] 백준 2230번 : 수 고르기 https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 💡 문제 풀이 투포인터 문제이다. 요구사항에 맞게 구현하면 된다. ✔️ 느낀 점 이분 탐색을 풀고 싶었는데 투포인터에 더 가까운 문제라고 생각된다. 어려울 것이 없어서 패스... 💻 코드 import sys input = sys.stdin.readline def solution(n, m, arr): start, end = 0, 1 min_ = sys.maxsize while s.. 2023. 2. 23. [Python] 백준 13023번 : ABCDE https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 💡 문제 풀이 ✔️ 느낀 점 💻 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) arr = [[] for i in range(n)] visited = [False] * n for _ in range(m): a, b = map(int, input().split()) arr[a].append(b) arr[b].append(a) def dfs(idx, number): if number == 4: print(1) exit() .. 2023. 2. 23. [Python] 백준 17609번 : 회문 https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 💡 문제 풀이 투포인터 문제이다. 조건에 맞춰서 잘 출력만 해주면 된다. ✔️ 느낀 점 사실 구현하는데 생각보다 오래 걸렸다. 💻 코드 import sys input = sys.stdin.readline def ispseudo(word, left, right): while left < right: if word[left] == word[right]: left += 1 right -= 1 else: return False ret.. 2023. 2. 22. [Python] 백준 14502번 : 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 💡 문제 풀이 그래프 탐색 + 브루트 포스 문제이다. 벽을 단 3개만 설치해서 얻을 수 있는 최선의 경우를 찾아야 한다. 완전 탐색을 통해서 3개를 설치했을 때 발생하는 모든 경우를 따지고, bfs를 사용해서 주어진 경우를 따져서 안전 구역의 개수를 따져주면 된다. 주의해야 할 점은 깊은 복사를 사용하지 않으면 원본이 훼손된다는 점이다! ✔️ 느낀 점 이렇게 따지는 경우를 어떻게 해야 할지 몰랐는데 단순하게 .. 2023. 2. 22. [Python] 소프티어 : 마이크로서버 https://softeer.ai/practice/info.do?idx=1&eid=628&sw_prbl_sbms_sn=157452 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 투포인터(?) 문제이다. 요청의 크기가 300 ~ 900이고 서버는 900을 넘어가면 안 되기 때문에 결국 3가지 경우로 나뉜다. 한 서비스가 600을 넘어가는 경우. 다른 서비스를 추가할 수 없어서 서버 하나를 준다. 300짜리 서비스가 3개 들어오는 경우. 그 외 두 서비스가 900이하의 메모리를 잡아먹는 경우 따라서 투 포인터를 따라가면서 계산해주면 된다. ✔️ 느낀 점 처음에 deque를 이용해서 조건문으로 해결하려고 했다. 하지만 25점짜리 풀이었고 오답을 절대로 찾을 .. 2023. 2. 21. [Python] 소프티어 : 거리 합 구하기 https://softeer.ai/practice/info.do?idx=1&eid=635&sw_prbl_sbms_sn=157103 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 그래프 탐색 문제이다. 해결하지 못했다. ✔️ 느낀 점 보자마자 플로이드-워샬이 생각나서 접근했지만 시간초과로 실패 (O(n^3)), DFS로 접근했는데 중간 계산 로직을 구현하지 못해서 실패, 다익스트라로 접근했는데 개선된 버전을 사용해도 시간초과로 실패 (O(E^2logE)) DFS가 두 번 들어가면 풀린다고 하는데 솔직히 좋은 문제인지는 잘 모르겠다. 💻 코드 import sys input = sys.stdin.readline INF = int(1e9) n = int(inp.. 2023. 2. 20. 이전 1 2 3 4 5 6 ··· 22 다음