본문 바로가기

전체 글389

[백준] 13335 트럭 백준 13335번 트럭 시뮬레이션 / 구현 / 자료구조 / 큐 [문제] 두 시간 걸린문제 시뮬레이션, 구현문제가 정말 까다로운 것 같다. [과정] 로직은 하나의 배열을 선언해 다리의 개수만큼 비교하면서 w길이 초과시 가장 앞에 값을 빼주며 반복하는 것 큐나 리스트를 사용해서 푸는 문제인데 나의 경우는 리스트를 사용하였음 무한루프: 모든 트럭이 다리위에 올라가는 즉시 '현재까지의 반복수+다리길이' 출력 현재 다리위의 트럭무게와 다음에 올 트럭무게가 기준치보다 작거나 같다면: 다리 위 트럭의 수를 비교 후에 트럭이 진입가능하면 트럭을 배열에 넣어주고 진입이 불가능하면 0을 넣어줌 다리 위 트럭의 수가 w 이상일 경우 가장 앞의 트럭 삭제 및 weight를 빼 줌 [소스코드] # 13335 트럭 n,w,l =.. 2022. 8. 12.
[백준] 14499 주사위 굴리기 백준 14499번 주사위 굴리기 구현 / 시뮬레이션 [문제] [과정] 주사위를 돌릴 때 상,하,좌,우에 따른 주사위 번호 이동 값을 변동해주는 것이 핵심이 됨 나의 경우에는 딕셔너리로 1,2,3,4 값에 따른 초기 주사위배열의 인덱스 변환위치를 저장해서 임의의 주사위를 만들어서 현재 주사위의 인덱스 값을 차례대로 넣은 후 다시 주사위에 임의의 주사위를 대입시키는 방식으로 풀었다. check() 함수 : 칸의 값과 주사위 값을 비교하여 주사위와 칸의 값을 변경해주는 함수 rolling() 함수 : 입력된 방향에 따른 주사위를 굴려주는 함수 [소스코드] # 14499 주사위 굴리기 n,m,x,y,k = map(int,input().split()) arr = [list(map(int, input().split.. 2022. 8. 11.
[Django로 배우는 쉽고 빠른 웹개발(기초편)] 03 Django 웹 프레임워크 Django로 배우는 쉽고 빠른 웹개발(기초편) Chapter 03 - Django 웹 프레임워크 이번 챕터에서 알아보는 것 일반적인 특징 장고 프로그램 설치 장고에서의 애플리케이션 개발 방식 애플리케이션 설계하기 프로젝트 뼈대 만들기 애플리케이션 개발하기 - Model 코딩 애플리케이션 개발하기 - View 및 Template 코딩 3.1 일반적인 특징 장고는 현재 가장 많이 사용되는 파이썬 웹 프레임워크 1) MVC 패턴 기반 MVT 장고는 MVC(Model-View-Controller)를 기반으로 한 프레임 워크 하지만 장고에서 View -> Template, Controller -> View MVT(Model-View-Template)프레임워크라고 부르기도 하지만 개념은 동일 2) 객체 관계 매핑.. 2022. 8. 10.
[백준] 11559 PuyoPuyo 백준 11559번 Puyo Puyo 구현 / 그래프 / 너비우선탐색 / 시뮬레이션 [문제] 2시간 반이 걸린 문제^^ 시뮬레이션 문제가 어렵다는걸 느꼇다. 상하좌우연결을 보고 탐색이 필요할 것 같고 아래로 내려오는 별도의 함수도 구현해야 하겠다는 생각을 할 수 있었다. [과정] 기본적인 로직 : 모든 배열의 자리에서 상하좌우를 비교하고 하나가 터지면 자리를 내리고 계속 비교하는 것 ※ 핵심이 되는 부분 모든 자리에서 bfs를 돌릴 때 4개 이상의 같은 좌표가 있어서 사라지게 되면 바로 내려오는 것이 아니고, 모든 좌표에서 같은 arr배열을 사용해서 bfs를 돌리고 내려오지 않은 상태로 마지막까지 반복하는 것 사라진 좌표는 별도의 배열에 저장하고 arr배열의 해당 좌표값을 . 으로 바꾼 후 좌표가 터진 횟.. 2022. 8. 9.
[Django로 배우는 쉽고 빠른 웹개발(기초편)] 02 파이썬 웹 표준 라이브 Django로 배우는 쉽고 빠른 웹개발(기초편) Chapter 02 - 파이썬 웹 표준 라이브러리 이번 챕터에서 알아보는 것 파이썬 웹 라이브러리의 전체적인 구성 및 버전 2.x와 3.x를 비교하며 달라진 점 웹 라이브러리의 각각 중요한 모듈 상용 웹 서버와의 연동에 필요한 WSGI 서버 2.1 웹 라이브러리 구성 파이썬 3.x 버전에서는 다음과 같이 관련된 모듈들을 모아서 패키지를 만들었고, 모듈명을 통해 서버쪽 라이브러리와 클라이언트쪽 라이브러리를 좀 더 확실히 구분짓고 있다. urllib 패키지 웹 클라이언트를 작성하는데 가장 빈번하게 사용되는 모듈 http 서버 뿐만 아니라 ftp 서버 및 로컬 파일 등을 처리하는데, 클라이언트에서 공통적으로 필요한 함수와 클래스를 제공 http 패키지 크게 서버.. 2022. 8. 8.
[Django로 배우는 쉽고 빠른 웹개발(기초편)] 01 웹 프로그래밍의 이해 Django로 배우는 쉽고 빠른 웹개발(기초편) Chapter 01 - 웹프로그래밍의 이해 나의 경우 장고를 활용한 프로젝트 경험이 다수있다. 하지만 기초적인 curd와 몇개의 aws 사용경험, 장고에 내장되어있는 기본적인 orm과 sqlLite정도만 사용할 수 있기에 해당책의 기초편과 실전편을 정독하면서 다시한번 제대로 기초를 다져보려고 한다. 또한 다른분들의 면접후기를 들어보면서 내가 서버개발자를 희망하지만 해당 용어들을 잘 모른다는 것을 알았다. 내가 할줄아는 내용도 해당 용어를 모르니 면접에서 물어보면 제대로 대답을 하지 못할 것 같다. 현재 하나의 개인 장고 프로젝트를 진행하고 있는데 그 프로젝트와 이 책을 병행하면서 다소 복잡한 웹구조를 만들어 보려고 한다. 챕터마다 정리하면서 일주일에 한권씩.. 2022. 8. 8.
[백준] 2164 카드2 백준 2164번 카드2 자료구조 / 큐 [문제] [과정] 간단한 큐문제 deque로 선언 후 popleft()로 가장 왼쪽의 원소를 지워주고, 한번더 popleft()후 삭제된 원소를 append()해주면 됨 [소스코드] # 2164 카드2 from collections import deque import sys input = sys.stdin.readline n = int(input()) data = [i for i in range(1,n+1,1)] data = deque(data) for _ in range(n-1): data.popleft() tmp = data.popleft() data.append(tmp) print(data[0]) [통과] 2022. 8. 8.
[백준] 18258 큐2 백준 18258번 큐2 자료구조 / 큐 [문제] [과정] 앞의 10845큐 문제와 같은 내용 입력부분의 명령수가 차이가 나서 시간제한이 차이가 있음 아마 라이브러리를 썻냐 못썻냐 차이인듯 하다 나는 똑같은 소스코드를 넣었는데 통과했다. [소스코드] #18258 큐2 from collections import deque import sys input = sys.stdin.readline q = deque() for i in range(int(input())): data = input().split() if data[0] == 'push': q.append(data[1]) elif data[0] == 'pop': if len(q) == 0: print(-1) else: n = q.popleft() print.. 2022. 8. 8.
반응형