본문 바로가기

전체 글400

일곱 난쟁이 첫번째 코드 현재 9명이고 7명의 합이 100이 되어야 하므로9개에서 7개를 더해가며 비교하는 것 보다는 2개를 빼면서 확인하는 것이 더 간단하다. 전체 키의 합을 구한 후2개를 뺐을 때 100이 되는 경우를 확인한다. 이후 2개의 값을 저장한 후 리스트에서 제거한다리스트를 정렬한 후 출력한다. import sys input = sys.stdin.readline heights = [] for _ in range(9):     heights.append(int(input())) total_heights = sum(heights) del_heights = [] for i in range(1, 9):     for j in range(i):         if total_heights - heights[i] .. 2024. 5. 10.
024 신기한 소수 첫번째 코드 사실 DFS...아직 어렵다... 책은 정말 똑똑한 친구구나... 023번 문제는 그래도 해당하는 곳에 가서 F를 T로 바꾸고 모두 T가 되면 그만 하는 그런 시스템이라면 024번 문제는 앞의 개념으로 이해하면 소수인 경우에 진행하고 아니면 버리는 식의 재귀 시스템을 돌아가는 코드이다. DFS는 한번 방문하면 다시 방문하지 않는 시스템인데...그러면 여기서는.... 한 자리 수 일때 소수이면 자리수를 추가해서 소수이면 자리수를 추가하고...이런 식으로 다시 한자리 수 일때로 돌아가지 않아서 DFS의 "한번 방문하면 다시 방문하지 않는 시스템"에 포함되는 것인가? import sys input = sys.stdin.readline n = int(input()) def prime(x): for .. 2024. 5. 9.
직사각형에서 탈출 첫번째 코드 네 변에서의 차이 중 가장 가까운 것을 선택하면 된다!그래서 사실 x-0, y-0이지만 0을 생략한다! import sys import math x, y, w, h = map(int, input().split()) a = abs(x - w) b = abs(y - h) print(min([x, y, a, b])) 통과!링크https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Bronze/1085.%E2%80%85%EC%A7%81%EC%82%AC%EA%B0%81%ED%98%95%EC%97%90%EC%84%9C%E2%80%85%ED%83%88%EC%B6%9C programmers/백준/Bronze/1085. 직사각형에서 탈출 at m.. 2024. 5. 9.
023 연결 요소의 개수 첫번째 코드 DFS를 처음 접해 관련된 함수 코드를 어떻게 작성해야 할 지 몰라 책을 참고했다 - DFS 함수로 v의 위치가 False이면 지났다고 가정하므로 True로 바꾸고 v를 통해서 갈 수 있는 값들 모두 DFS 함수를 돌리는 과정을 통해 True로 바꾸는 함수를 생성한다 - A라는 리스트 안에 0, 1, 2, ..., n의 값에서 어디로 갈 수 있는 지를 적어넣는다 (양방향의 문제이므로 양방향으로 적어 넣는다) - 마지막으로 해당 함수를 돌리는 코드를 작성한다. 이때 n의 개수만큼 돌려 뺴먹지 않는 수가 없도록 한다 각 수에 대해 DFS를 돌리면 된다! import sys input = sys.stdin.readline n, m = map(int, input().split()) A =[[] fo.. 2024. 5. 9.
약수의 개수와 덧셈 첫번째 코드 직접 해당 범위의 모든 수의 약수의 개수를 구한 후해당 범위 안의 값이 짝수면 더하고 홀수면 뺀다. def solution(left, right):     answer = 0          count = [0] * 1001     for i in range(left, right + 1):         for j in range(1, i+1):             if i % j == 0:                 count[i+1] += 1     for i in range(left, right + 1):         if count[i+1] % 2 == 0:             answer += i         else:             answer -= i     re.. 2024. 5. 8.
소수 만들기 첫번째 코드 소수임을 확인하는 코드를 작성한 후nums안의 원소 중 세개를 더한 값들의 리스트와 비교하여 소수가 맞는지 확인한다. import math def solution(nums):     answer = 0     A = []          prime = list(range(1001))     prime[1] = 0          for i in range(2, int(math.sqrt(1001))+1):         for j in range(i*i, 1001, i):             prime[j] = 0          for i in range(len(nums)):         for j in range(i+1, len(nums)):             for k in ran.. 2024. 5. 8.
728x90