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

B_log

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

B_log

검색하기 폼
  • 분류 전체보기 (311)
    • 알고리즘 학습 (174)
      • 알고리즘 개념 (8)
      • 프로그래머스 (48)
      • Codility (12)
      • 백준 알고리즘 (62)
      • 파이썬 알고리즘 인터뷰 (13)
      • 삼성 SWEA (20)
      • 종만북 with 파이썬 (5)
      • with Swift (1)
    • iOS 앱개발 (66)
      • Swift Basic (14)
      • iOS (33)
      • WWDC (6)
      • 암호화폐 거래소 앱 프로젝트 (6)
      • Daum Cafe 검색 앱 프로젝트 (5)
      • Swift GuideLines (2)
    • Web (29)
      • 개념 학습 (3)
      • Python | Django (18)
      • 우아한테크코스 (2)
      • AWS (2)
      • Java Script (4)
    • SQL 학습 (4)
      • 프로그래머스 SQL 문제풀이 (4)
    • 개발 독서 (15)
    • 개발 정보 (4)
    • 회고 (2)
    • 주식 (0)
      • 주식 독서 (0)
    • 제품 구매 후기 (2)
    • 이런 저런 생각들 (0)
  • 방명록

전체 글 (311)
탐욕 알고리즘(Greedy Algorithm)

👨‍💻 특징 - 최적해를 찾는데 사용되는 근시안적 방법 - 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식 - 각 시점에서 지역적으로는 최적의 선택이지만 전체적으로 보면 그 해답이 최적이라는 보장이 없음 - 일반적으로 머리에 떠오르는 생각을 바로 구현하면 그게 탐욕 알고리즘이 된다. 🚦 필요한 경우 - 💾 예시 - 거스름돈 줄이기(500원, 100원 등 최소 개수로 거스름돈 주기) - 출처 : https://swexpertacademy.com/

카테고리 없음 2020. 5. 11. 11:29
완전검색(Exhaustive Search), Brute Force

👨‍💻 특징 - 모든 경우의 수를 나열해 보고 확인하는 기법 - Brute-Force 또는 Generate and Test 라고도 불린다. - 속도는 느리지만 높은 확률로 해답을 찾을 수 있다. - permutations(순열), combinations(조합)과 함께 사용하기 좋다. 🚦 필요한 경우 - 경우의 수가 작을 때 💾 예시 - - 출처 : https://swexpertacademy.com/

알고리즘 학습 2020. 5. 11. 11:15
리스트(List)

List의 종류 및 특징 - Tuple이 List보다 처리속도가 빠르므로 내용물을 변경하는게 아니라면 튜플을 사용하는 것이 더 좋다. - dictionary는 내용물의 순서가 없어 key의 중복을 허용하지 않는다. - set 역시 내용물의 순서가 없다. - list는 크기를 변경하는 작업은 내부적으로 큰 overhead 발생작업으로 많은 시간을 소요한다. ==> 미리 배열의 크기를 설정한 후 내용물을 변경하는 것이 더 빠르다. - set은 중복을 제거하기위해 내부적으로 Hashing 기법을 사용하는데 이 때문에 불변 객체만 저장이 가능하다. ex) 리스트를 요소로 가지고있는 리스트를 set으로 변경할 경우 에러 발생 - 배열(Array)은 같은 타입의 변수들을 하나의 이름으로 묶어 사용하는 자료구조이지만..

알고리즘 학습 2020. 5. 11. 11:02
SWEA - 회문[Python]

😅 문제 https://swexpertacademy.com/main/ 🤔 문제 상황 - 회문이 가로, 세로 두가지 경우가 발생할 수 있다. 🧐 해결 전략 - 회문을 탐색하는 함수를 만들어 판별한다. 🎰 코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 def palin(s): rev = s[::-1] # s를 거꾸로 출력 if s[:len(s)//2] == rev[:len(s)//2]: return True return False t = int(input()) # testcase 개수 result = [] # 결과 리스트 fo..

알고리즘 학습/삼성 SWEA 2020. 5. 2. 10:39
SWEA - 글자수[Python]

😅 문제 https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do 🤔 문제 상황 - 하나씩 꺼내와 계산한다. 딕셔너리까지 사용할 이유가 없다. 🧐 해결 전략 - set를 통해 반복을 줄이고 개수를 세 최대값을 갱신한다. 🎰 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 t = int(input()) # testcase result = [] for _ in range(t): m = 0 # 최대값 a , b = list(set(input())), input() for i in range(len(a)): temp = b.count(a[i]) if temp > m : m = temp result.append(m) for i in r..

알고리즘 학습/삼성 SWEA 2020. 5. 2. 09:43
2019 카카오 개발자 겨울 인턴십 - 튜플[Python]

😅 문제 🤔 문제 상황 - 주어진 리스트를 보면 리스트 내부의 순서가 뒤죽박죽이고 순서가 중요하므로 단순히 정렬해서는 의미가 없다. - 주어진 리스트가 하나의 긴 string이고 부호가 {} 로 되어있으므로 리스트화 하기가 까다롭다. - split의 조건으로 '},{'를 사용하였다. 🧐 해결 전략 - 리스트를 정수화해서 담아준 뒤, 2차원으로 탐색하며 결과 요소에 없다면 새로 담는 식으로 풀이하였다. 🎰 코드 1 2 3 4 5 6 7 8 9 10 11 def solution(s): a = s[2:-2].split('},{') for i in range(len(a)): a[i] = list(map(int, a[i].split(','))) a.sort(key = len) result = [] for i in..

알고리즘 학습/프로그래머스 2020. 5. 1. 19:41
백준 알고리즘 - 가장 큰 증가 부분 수열(11055번)[Python]

문제 문제 상황 - 증가하는 부분수열 중 합이 가장 큰 것을 찾아야한다. 증가하는 수열 중 어떤 선택을 할 때 다음에 올 수 있는 요소들에 영향을 미치므로 DP를 활용한다. 해결 전략 - i 와 j로 n^2의 순회를 해주며 a[i] > a[j]일 때에만 비교를 하도록 한다. 코드 1 2 3 4 5 6 7 n, a = int(input()), list(map(int, input().split())) dp = a[:] for i in range(1, n): for j in range(i): if a[i] > a[j]: dp[i] = max(dp[j]+a[i], dp[i]) print(max(dp)) Colored by Color Scripter cs 해설 새로 학습한 것 & 실수 - dp를 초기화 할 때, ..

알고리즘 학습/백준 알고리즘 2020. 5. 1. 10:01
백준 알고리즘 - 정수 삼각형(1932번)[Python]

문제 문제 상황 - 선택을 하나 했을 때, 다음 선택을 할 수 있는 경우는 2가지 뿐이고 한 선택이 다른 선택에 영향을 주며 그 상황에서 최대 값 찾는 문제이므로 DP를 사용한다. 해결 전략 - 최대값을 담는 dp 리스트를 따로 만들어 문제의 dp를 담는다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # dp[i][j] = i행 j열 까지의 합 중 최대가 되는 경우의 합 # a[i][j] = 주어진 삼각형을 담는 리스트 n = int(input()) a = [[0] for _ in range(n)] for i in range(n): a[i] = list(map(int, input().split())) dp = [[0]*n for _ in range(n)] dp[0][..

알고리즘 학습/백준 알고리즘 2020. 4. 30. 16:13
이전 1 ··· 35 36 37 38 39 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 미로 탐색#백준알고리즘#Python
  • filter#isalnum#lower
  • 터틀비치#리콘#xbox#controller
  • 병든 나이트#BOJ#탐욕법#Python
  • 반복수열#백준알고리즘#Python
  • django#slicing
  • 나무자르기#BOJ#이분탐색#Python
  • 백준 알고리즘#BackTracking
  • Brackets#Stacks and Queues#Codility#Python
  • N으로 표현#DP#Programmers#Python
  • 토마토#백준알고리즘#Python
  • Triangle#Sorting#Codility#Python
  • django
  • 암호코드#dp#BOJ#Python
  • Distinct#Codility#Python
  • 공유기 설치#BOJ#이분탐색#Python
  • 파이썬알고리즘인터뷰#4장
  • NumberofDiscIntersections#Codility#Sort#Python
  • 순열사이클#BOJ#Python
  • 날짜 계산#BOJ#완전탐색#Python
  • 배열합치기#분할정복#BOJ#Python
  • 텀 프로젝트#백준알고리즘#Python
  • PassingCars#Codility#Python
  • API#lazy#
  • 종이자르기#분할정복#BOJ#Python
  • 리모컨#완전탐색#BOJ#Python
  • 섬의개수#백준알고리즘#Python
  • Swift#Tuples#Range
  • 쿼드트리#BOJ#분할정복#Python
  • 랜선자르기#이분탐색#BOJ#Python
more
«   2025/12   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바