전체 글
-
[프로그래머스] 합승 택시 요금 / KAKAO BLIND RECRUITMENT / 파이썬알고리즘/프로그래머스 2021. 2. 22. 12:57
문제 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 풀이 1. 택시가 이동할 수 있는 경로 마다 예상 택시 요금이 있는데 a와 b가 s에서 출발하여 가장 적은 요금으로 둘 다 귀가를 하는 것이 목적입니다. 2. 지점 별로 최소 예상..
-
[백준] 1162 도로포장 파이썬알고리즘/백준 2021. 2. 19. 18:41
문제 1162번: 도로포장 첫 줄에는 도시의 수 N(1 ≤ N ≤ 10,000)과 도로의 수 M(1 ≤ M ≤ 50,000)과 포장할 도로의 수 K(1 ≤ K ≤ 20)가 공백으로 구분되어 주어진다. M개의 줄에 대해 도로를 연결짓는 두 도시와 도로를 통과하 www.acmicpc.net 풀이 1. 서울에서 시작하여 포천까지 최소 시간이 걸리도록 해야합니다. 2. 도시별로 최소 시간을 구하기 위해서 다익스트라 알고리즘을 구현합니다. 3. 주의할 점은 K개를 사용해서 거리를 포장하면 시간이 0이 되기 때문에 이 부분을 구현해야 합니다. 4. 구현하는 방법은 도시별의 최소 시간과 도시별 방문 유무 리스트를 2차원(N * K)으로 늘려주면 됩니다. 포천에서 1 ~ K번 포장했을 때의 최단시간을 구해주고 그중 최..
-
[프로그래머스] 신규 아이디 추천/ KAKAO BLIND RECRUITMENT / 파이썬알고리즘/프로그래머스 2021. 2. 18. 20:28
문제 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 풀이 1. 파이썬 내장 모듈인 re 모듈을 이용하여 풉니다. 코드 import re def solution(new_id): #1단계: 모든 대문자를 대응되는 소문자로 치환 new_id = new_id.lower() #2단계: 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거 new_id = re.sub('[^\w\.-]', '', new_id) #3단계: 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 ..
-
토큰 인증 방식이란?웹 2021. 1. 24. 20:15
우선 토큰 인증 방식전에 전통적인 인증 시스템에 대해서 알아본다! 전통적인 인증 시스템 출처: https://medium.com/@samueleresca/developing-token-authentication-using-asp-net-core-c3fbd7bfd7cb 인증 순서 사용자는 로그인 폼에 아이디/비밀번호를 입력 후 로그인 버튼을 누른다. 서버는 요청이 들어오면 유저를 검증한다. 검증되었다면 세션을 생성하고 세션 정보를 요청 헤더에 포함하여 반환한다. 클라이언트는 제한된 end points에 접근할 때 요청 헤더에 세션 정보를 포함하여 요청한다. 세션 정보가 유효하다면 서버는 요청을 수락하고 렌더링된 html을 반환한다. 안드로이드나 ios같은 다른 클라이언트에도 동작할까? 전통적인 인증방식으로..
-
JSON Web Token이란?웹 2021. 1. 24. 19:29
JSON Web Token이란? JSON Web Token은 인증 헤더 내에서 사용되는 토큰 포맷이다. JSON은 웹 표준으로써 두개의 시스템 끼리 안전한 방법으로 통신할 수 있도록 설계하는 것을 도와준다. 1. 지원 JWT는 C, Java, Python, C++, R, C#, PHP, Javascript, Go, Ruby, Swift 등 수많은 언어에서 지원된다. 2. 자가 수용적(self-contained) JWT는 필요한 모든 정보를 자체적으로 지니고 있다. JWT 시스템에서 발급된 토큰은 토큰에 대한 기본정보, 전달할 정보, 토큰이 검증되었다는 것을 증명해주는 signature를 포함하고 있다. 3. 쉽게 전달 JWT는 자가 수용적이므로, 두 시스템 사이에서 쉽게 전달될 수 있다. 웹서버의 경우에..
-
Base64 인코딩이란 무엇일까?etc. 2021. 1. 21. 18:56
Base64란? Base64란 8비트 2진 데이터(zip파일이나 exe파일 등)을 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어린 일련의 문자열로 바꾸는 인코딩 방식이다. base64를 그대로 풀이하면 64진법이란 뜻이다. 64는 2의 제곱수(64 = 2^6)이고, 2의 제곱수에 기반한 진법들 중에서 화면에 표시되는 ASCII 문자들을 써서 표현할 수 있는 가장 큰 진법이기 때문이다. 이 인코딩은 전자 메일을 통한 이진 데이터 전송 등에 많이 쓰인다. Base64는 어떤 문자와 기호를 쓰냐에 따라 많은 종류가 있지만, 가장 기본적인 것은 A-Z,a-z,0-9를 사용해서 62개이고 나머지 2개를 어떤 기호를 쓰냐에 차이가 있다. 일반적으로 컴퓨터 데이터나 ASCII 문자들은 8비트..