본문 바로가기

study

(104)
[알고리즘/프로그래머스] 스택/큐 - 다리를 지나는 트럭, 주식가격 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지? 다리에는 트럭이 최대 bridge_length대 올라갈 수 있다. 다리는 weight 이하까지의 무게를 견딜 수 있다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시 처음에 문제 이해를 잘못 해서 푸는데 엄청 헤맸다 ㅠ ㅠ 1. 트럭은 다리 길이만큼 움직여서 다리를 건너가야 한다. 다리를 1칸씩 움직일 때 마다 1초가 걸린다. 2. 다리 마지막에 위치한 트럭이 나가면서 ..
[알고리즘/프로그래머스] 스택/큐 - 기능개발, 프린터 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr progresses -- 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 speeds -- 각 작업의 개발 속도가 적힌 정수 배열 각 배포마다 몇개의 기능이 배포되는지 ? 접근 방법 - stack을 사용( python에서는 list로 구현 가능 ) - progresses 리스트에 speeds를 더해주면서 첫번째 값이 100 이상이 되면 배포가 가능한 작업을 모두 카운트 후 제거 - progresses 리스트가 비게 되면 반복문..
[알고리즘 / Oracle] 프로그래머스 - 입양 시각 구하기(1) 프로그래머스 level2 입양 시각 구하기(1) https://programmers.co.kr/learn/courses/30/lessons/59412 - TO_CHAR 함수를 서브쿼리로 사용 - TO_NUMBER을 빼도 정답 - EXTRACT()함수는 왜인지 자꾸 오류 발생 -- TO_CAHR 사용 SELECT HOUR, COUNT(HOUR) AS COUNT FROM (SELECT TO_NUMBER(TO_CHAR(DATETIME, 'HH24')) AS HOUR FROM ANIMAL_OUTS) GROUP BY HOUR HAVING HOUR BETWEEN 9 AND 19 ORDER BY HOUR
[알고리즘] 구현 : 시뮬레이션과 완전 탐색 공부 : 동빈나 유튜브 + 책 구현(Implementation) : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 - 흔히 알고리즘 대회에서는 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제를 지칭 완전탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행 예제 4 - 1 상하좌우 #여행가 A가 N*N 크기의 정사각형 공간을 벗어나는 움직임은 무시된다. #일련의 명령에 따라 개체를 차례대로 이동시킨다는 점에서 시뮬레이션 유형으로도 분류됨 직접 작성한 코드에서 수정할 부분 - (답안) if문-elif문으로 반복되는 부분을 list로 만들어 간단하게 작성 가능 dx = [0, 0,..
[알고리즘] DFS/BFS - 백준 1260번/2606번 1260번 - https://www.acmicpc.net/problem/1260 DFS와 BFS 접근 방법 - 인접행렬 방식으로 작성 - 처음 코드 작성 후 제출시 런타임에러(RecursionError) --> DFS의 재귀함수가 너무 많이 돌아가 발생 - 코드 수정 후 틀린 부분 --> DFS의 노드에서 돌아갈 곳이 없을 때의 반복을 구현하지 않았다.. - 수정해서 통과 ! import copy from collections import deque def dfs(graph, v): if graph[v][v] != -1: print(v + 1, end=' ') for i in range(len(graph)): graph[i][v] = -1 # 방문했다 while True: node = graph[v].i..
[알고리즘] DFS/BFS 공부 : 동빈나 유튜브 + 책 탐색(Search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 - DFS/BFS는 대표적은 그래프 탐색 알고리즘 (사전 학습) 자료구조 정리 자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조 - 삽입(Push) / 삭제(Pop) - Overflow와 Underflow를 신경쓰기 1. 스택 - 선입후출(First In Last Out) / 후입선출(Last In First Out) 구조 - 파이썬에서 별도의 라이브러리 없이 리스트로 구현 가능 stack = [] #순서대로 5 2 3 7 삽입 - 삭제 - 1 4 삽입 - 삭제 stack.append(5) stack.append(2) st..
[알고리즘] 이진탐색 공부 : 동빈나 유튜브 ( https://youtu.be/94RC-DsGMLo?list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC ) 이진탐색 : 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터 탐색 - 시작점, 끝점, 중간점 - 정렬되어 있어야 가능 - 단계마다 탐색 볌위를 2로 나누는 것과 동일 -- O(logN) - 이진탐색은 재귀함수 또는 반복문을 통해 풀 수 있음 #재귀함수버전 def binarySearch(array, target, start, end): if target end로 멈출수도 있음 return None mid = (end+start)//2 if array[mid] == target: return mid..
[R프로그래밍] #6. 외부파일 읽어오기 외부파일 읽어오기 1. scan() 함수 외부파일을 읽어들임 scan('파일명',what) #what -> 문자열 인 경우 "", 또는 'char'이라고 입력해줘야 인식가능(what="char") #sep="," --> sep는 구분자 / 쉼표로 구분되어있다. #예시 setwd("C:\\Users\\이정민\\Desktop\\R\\자료") #작업 디렉토리 미리 설정 a