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

jenlog

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

jenlog

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

algorithm (71)
[swea] 5205. 퀵정렬 / python 파이썬

💡 How Quicksort Works ? 퀵정렬은 피봇(pivot)을 기준으로 큰 숫자와 작은 숫자를 서로 교환한 다음 배열을 반으로 나눈다. 즉, 피봇보다 작은 숫자는 피봇 왼쪽으로, 큰 숫자는 오른쪽으로 분할한다. 이런식으로 쭉 내려가면 정렬이 되고, 이를 결합하면 정렬된 리스트를 얻을 수 있다. 👍 분할 정복 알고리즘으로 평균적으로 매우 빠른 수행 속도를 나타내는 것이 특징이다. 코드 def quick_sort(left, right): if left >= right: return pivot = left i = left+1 j = right-1 while i

algorithm/swea 2021. 5. 5. 02:11
[swea] 5204. 베이비진 게임 / python 파이썬

🚩 그리디 thinking player1과 player2의 카드 결과를 카운팅할 cnt_1, cnt_2 이라는 리스트를 만들고 input 데이터를 하나씩 할당해주면서 babygin 함수로 run과 triplet을 체크해주었다. 코드 T = int(input()) def babygin(num, cnt_lst): # 카드숫자, 카운팅리스트 cnt_lst[num] += 1 flag = 0 i = 0 while i = 3: # triplet check flag = 1 break if cnt_lst[i] and cnt_lst[i + 1] and cnt_lst[i + 2]: # run check flag = 1 break i += 1 if flag == 1: return True..

algorithm/swea 2021. 4. 15. 19:40
[swea] 5202. 화물 도크 / python 파이썬

🚩 그리디 thinking 맨 처음 구간을 기준점으로 시작시간과 끝 시간을 비교하면서 8처럼 현재 시작시간이 전회차의 종료시간(14)보다 작으면(겹치면) 카운팅하지 않고, 17, 20, 23처럼 시작시간이 전회차의 끝시간(14, 20, 23) 보다 같거나 큰 경우에만 카운팅을 해주었다. 시간복잡도를 줄이기위해 pop(0) 대신 pop()을 사용할 수 있도록 input 리스트를 1.작업완료시간 - 2.작업시작시간 순으로 내림차순으로 정렬했다. # testcase `.sort(key=lambda x: (-x[1], -x[0])` 소팅결과 # testcase 1 [[23, 24], [20, 23], [17, 20], [8, 18], [4, 14]] # testcase 2 [[20, 24], [12, 24], ..

algorithm/swea 2021. 4. 15. 19:35
[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
이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음
이전 다음
글 보관함
TAG
  • merge에러
  • merge 에러
  • 영어끝말잇기
  • swea
  • 21609 상어 중학교
  • 삼성코테
  • 알고리즘
  • BFS
  • 프로그래머스
  • 삼성기출
  • 2579 계단오르기
  • 기지국설치
  • dfs
  • 브루트포스
  • 20056 마법사 상어와 파이어볼
  • react
  • 파이썬
  • dp
  • 보석쇼핑
  • 2018 카카오 공채
  • 백준
  • Python
  • 17406 배열돌리기4
  • git 미러링
  • 20057 마법사 상어와 토네이도
more
최근에 올라온 글
Total
Today
Yesterday
최근에 달린 댓글
«   2025/07   »
일 월 화 수 목 금 토
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

티스토리툴바