본문 바로가기 메뉴 바로가기

jenlog

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

jenlog

검색하기 폼
  • All (81)
    • algorithm (71)
      • baekjoon (31)
      • swea (30)
      • programmers (9)
    • JS (1)
    • Vue.js (2)
    • React (2)
    • * etc (5)
  • 방명록

algorithm/swea (30)
[swea] 5201. 컨테이너 운반 / python 파이썬

🚩 그리디 thinking 화물의 용량이 트럭의 적재용량보다 작으면 결과값에 더해주는 문제인데, 화물의 개수(N)가 더 많거나 트럭의 개수(M)가 더 많을 경우 인덱스에러(list index out of range)가 나기 때문에 while 문으로 처리하여, N과 M의 최소 크기보다 작을 때만 반복문이 돌아가도록 설정했다. 코드 T = int(input()) for tc in range(1, T+1): N, M = map(int, input().split()) # N: 컨테이너수, M: 트럭수 weight = sorted(list(map(int, input().split())), reverse=True) # N개의 화물 무게 truck = sorted(list(map(int, input().split()..

algorithm/swea 2021. 4. 15. 18:28
[swea] 5189. 전자카트 / python 파이썬

🚩 브루트포스(완전탐색) thinking 아 문제 제대로 안읽어서 지존 오래걸렸다 . . . 😑 문제에서 말하듯, ( e[1][2]+e[2][3]+e[3][1] ) 1, 2 -> 2, 3 -> 3, 1 의 순서로 진행되기 때문에 현재 y인덱스(열)와 다음 시작하는 x인덱스(행)를 동일하게 두고 풀면 된다 ! ! 이렇게 계속 이어지다가 처음 인덱스와 동일해지면 함수를 종료하면 된다. 최소값을 찾는 문제이므로 기존의 결과값보다 작은 경우에만 함수가 진행되도록 조건문을 걸어주었다. 처음 시작은 무조건 e[0][1] 또는 e[0][2] 또는 ... e[0][N-1] 이므로 range는 (1, N)까지로 처리했다. 코드 T = int(input()) # (current, next) = 0,1 -> 1,2 -> 2..

algorithm/swea 2021. 4. 15. 18:23
[swea] 5188. 최소합 / python 파이썬

🚩 브루트포스(완전탐색) thinking 가능한 모든 경우를 구한다음, 최소값을 구하면 시간초과가 뜬다. 최악의 경우 (2N!/N!*N!)*T = 10,400,600*50 = 520,030,000 번의 연산을 해서 그런것 같다. 그래서 애초에 부분합이 결과값보다 크면 함수가 끝나도록 처리해줬다. 현재 좌표를 함수의 인자로 받아, 방문한적이 없다면 방문체크 후 합을 더하며 재귀적으로 함수가 돌아가도록 구성했다. 코드 T = int(input()) dx = [0, 1] dy = [1, 0] def dfs(x, y): global res, tmp if res 제한시간때문에 가지치기 해야함 return if x == N-1 and y == N-1: re..

algorithm/swea 2021. 4. 15. 18:07
[swea] 5178. 노드의 합 / python 파이썬

🚩 트리(tree) 풀이 1 왼쪽 자식, 오른쪽 자식을 세트로 같이 더해주는 방식 T = int(input()) for tc in range(1, T+1): N, M, L = map(int, input().split()) # N:노드개수, M:리드노프개수, L:출력할 노드번호 tree = [0 for _ in range(N + 1)] for i in range(M): n, v = map(int, input().split()) tree[n] = v # 방법1 if N % 2 == 0: # 노드개수가 짝수인 경우를 위해 설정 tree.append(0) for i in range((N//2)*2, 1, -2): tree[i // 2] = tree[i] + tree[i + 1] print("#{} {}".for..

algorithm/swea 2021. 4. 9. 01:12
[swea] 5177. 이진힙 / python 파이썬

🚩 트리(tree) thinking [부모노드, 왼쪽자식, 오른쪽자식, 노드값] 의 2차원 리스트 형태의 트리를 만들고 input data 값을 넣어준다. 왼쪽자식, 오른쪽자식의 노드번호가 1씩 차이나므로 인덱스를 홀짝으로 접근해 값을 넣어줬고, 만약 전체 노드의 개수가 짝수인 경우 오른쪽 자식이 없으므로 0으로 다시 할당해주는 조건문을 설정했다. change 라는 함수를 통해 부모

algorithm/swea 2021. 4. 9. 01:04
이전 1 2 3 4 5 6 다음
이전 다음
글 보관함
TAG
  • 기지국설치
  • swea
  • 백준
  • Python
  • 2579 계단오르기
  • 20056 마법사 상어와 파이어볼
  • 파이썬
  • 삼성코테
  • 알고리즘
  • merge에러
  • react
  • dp
  • 21609 상어 중학교
  • BFS
  • 20057 마법사 상어와 토네이도
  • 2018 카카오 공채
  • 보석쇼핑
  • 삼성기출
  • 17406 배열돌리기4
  • 브루트포스
  • dfs
  • git 미러링
  • 프로그래머스
  • 영어끝말잇기
  • merge 에러
more
최근에 올라온 글
Total
Today
Yesterday
최근에 달린 댓글
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

jennnn.tistory.com

티스토리툴바