728x90

전체 글 108

[자료구조] 스택, 큐

스택과 큐는 비슷해보이지만 다른 구조이다. 우선 공통점으로는 둘 다 데이터를 쌓고 이를 하나씩 내보낼 수 있는 점이 있다. 차이점은 이 두가지 구조의 특징을 잘 나타내고 있는데, 아래와 같이 정리 할 수 있다. 위 그림 처럼 입구와 출구가 같은 구조 이다. 입력은 A -> B -> C 순으로 이루어지고, 출력은 C -> B -> A 순으로 이루어진다고 생각하면 쉽다. 이를 후입 선출, LIFO (Last In First Out) 이라고 부른다. 언어마다 조금은 다를 수 있지만 대게 데이터를 넣는 것을 push, 빼는 것을 pop 이라 한다. 이때 pop은 마지막 데이터를 리턴해주고, 스택에서는 제거하는 연산임을 주의하면 된다. 참고로 파이썬에서 스택은 리스트를 이용하여 구현하고, ..

알고리즘 2022.02.09

[프로그래머스 lv 1] 모의고사.py

https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 3명의 수포자가 나온다. 각 수포자들은 본인만의 찍는 방식이 있는데 이를 가지고 주어진 답과 비교하여 제일 문제를 많이 맞춘 사람(들)을 리턴하면 된다. 입출력의 예는 다음과 같다. answers return [1,2,3,4,5] [1] [1,3,2,4,2] [1,2,3] 완전 탐색 문제인 만큼 주어진 답을 전부 순회하면서 수포자의 찍는 방식과 비교하여 각 수포..

알고리즘 2022.02.08

[고양이와 책을] json 인코딩 에러 해결

그동안 영어로만 테스트 해서 한글 인코딩 부분을 미처 확인 하지 못하고 있다가, 다른 팀원이 이 오류를 발견해서 이를 해결하였다. json으로 보낸 객체가 한글이 포함되어있으면 아스키 코드로 나오는 문제였는데, JsonResponse의 파라미터 중에 json_dumps_params에 ensure_ascii를 false로 하면 해결되는 문제 였다. JsonResponse({"data" : list(users)}, json_dumps_params={'ensure_ascii': False}, status = 200) 이런식으로 return 값을 수정했더니 정상적으로 한글이 보여졌다. [LoginView 클래스의 get() 풀 코드] def get(self, request): user = User.objects..

5주차 정리(2/3~2/4)

설연휴가 있던 주간이라 실질적인 수업은 한번 진행되었다. 이번주에는 AWS와 MySQL을 연동해보는 작업을 했다. AWS는 자칫하면 바로 요금이 부과되기 때문에 RDS를 설정하는 것도 굉장히 신경써야 했다. 특히 스냅샷 관련한 건 왠만하면 안하는 게 좋다. 요금이 나도 모르게 부과될 수도 있기 때문이다. 또한 사용하지 않을 때는 가급적 종료하는 것이 좋다 이전에 이클립스를 통해 로컬에서의 oracle DB 에 접근하는 코드를 본적이 있는데, 이를 응용해서 RDS와 연결하는 자바 코드도 짜보았다. package step01.basic; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import jav..

[프로그래머스 lv 1] 자연수 뒤집어 배열로 만들기.py

https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 주어진 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열의 형태로 리턴하면 되는 문제이다. (정렬해서 뒤집는 게 아니라 있는 그대로를 뒤집는 것이다!) 입출력의 예는 다음과 같다. n return 12345 [5,4,3,2,1] 파이썬에서 뒤집는 것(함수)을 사용할 수 있는 자료형중..

알고리즘 2022.02.03

[프로그래머스 lv 1] 2016년.py

https://programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 2016년 1월 1일은 금요일이라는 정보를 바탕으로 2016년의 특정 날짜의 요일을 알아내면 되는 문제이다. (참고. 2016년은 윤년이다) 입출력의 예는 다음과 같다. a b result 5 24 "TUE" 처음에는 달별로 일수를 나누어 저장하고 이를 요일로 잘라야 하나 고민했는데, 혹시나 하는 마음에 날짜 관련 라이브러..

알고리즘 2022.02.02

[Server] AWS 인프라 구축 가이드 - 3 AWS Auto Scaling을 이용한 다중 서버 구성 (2)

이전 내용에 이어서 정리를 진행할 것임 https://paabaep.tistory.com/16 [AWS 인프라 구축 가이드] - 3 AWS Auto Scaling을 이용한 다중 서버 구성 (1) 다음은 서버 단위의 로드밸런서의 구조이다. 여기서 초록색 상자의 부분이 Auto Scaling 그룹이다. AWS Auto Scaling 그룹 - AWS에서 제공해주는 자동 다중 서버 서비스 - 똑같은 EC2 인스턴스들이 묶음(사 paabaep.tistory.com AWS Auto Scaling 그룹의 구성 오토 스케일링 그룹을 생성하기 위해서는 이를 자동으로 생성할 EC2 인스턴스를 먼저 골라야 함 위의 그림에서는 B인스턴스를 골랐고, B인스턴스의 OS, 디스크 내용등을 스냅샷으로 만들어 AMI(Amazon Ma..

개인공부/BE 2022.02.01

[프로그래머스 lv 1] 시저암호.py

https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 주어진 문장의 알파벳을 일정한 거리만큼 밀어서 만드는 암호가 시저암호이다. 이 시저암호문을 만드는 코드를 작성하는 것이 목표이다. (단 공백은 밀어도 공백이다.) 입출력의 예는 다음과 같다. s n result "AB" 1 "BC" "z" 1 "a" "a B z" 4 "e F d" 아스키 코드를 이용하면 되는 문제이다. chr() :..

알고리즘 2022.01.31

4주차 정리(1/24~1/28)

자바를 마무리하고 SQL 학습을 시작했다. 오라클 데이터 베이스를 사용하기 때문에 이미 제공해주는 테이블과 데이터를 이용해서 작업했다. (SCOTT/TIGER, hr/hr 계정을 이용해 학습) 제일 처음은 select 문에 대해 학습했다. select 기본 syntax select 절 from 절; 정렬 포함 select 절 from 절 order by 절; asc, desc 조건절 포함 select 절 from 절 where 절; 참고 - dual table 잉여 테이블, 데이터 없음, syntax 적으로 from 필요시 사용 ex) select 2+3 from dual; select sysdate from dual; select에는 사용가능한 여러 함수들이 있다. 단일행 함수와 집계 함수로 크게 나눠..

[프로그래머스 lv 1] 예산.py

https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 부서가 신청한 예산이 배열로 나오고 총 쓸 수있는 예산이 주어진다. 이 예산 안에서 부서가 신청한 예산을 배분했을때, 최대한 많은 부서에 신청한 금액만큼 주는 게 이 문제의 목적이다. 입출력의 예는 다음과 같다. d budget result [1,3,2,5,4] 9 3 [2,2,3,3] 10 4 부서별 예산안 리스트를 오름 차순 정렬한 후, 적은 예산의 부서(앞) ..

알고리즘 2022.01.27
728x90
반응형