[백준] 2902번 - KMP는 왜 KMP일까? (파이썬)
·
알고리즘 공부/백준
[문제] KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다. 또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman이다. 사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부른다. 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것이다. 예를 들면, Knuth-Morris-Pratt이다. 이것을 긴 형태라고 부른다. 두 번째로 짧은 형태는 만든 사람의 성의 첫 글자만 따서 부르는 것이다. 예를 들면, KMP이다. 동혁이는 매일매일 자신이 한 일을 모두 메모장에 적어놓는다. 잠을 자기 전..
[백준] 2455번 - 지능형 기차 (파이썬)
·
알고리즘 공부/백준
[문제] 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. 이 장치를 이용하여 출발역에서 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 계산하려고 한다. 단, 이 기차를 이용하는 사람들은 질서 의식이 투철하여, 역에서 기차에 탈 때, 내릴 사람이 모두 내린 후에 기차에 탄다고 가정한다. 예를 들어, 위와 같은 경우를 살펴보자. 이 경우, 기차 안에 사람이 가장 많은 때는 2번역에서 3명의 사람이 기차에서 내리고, 13명의 사람이 기차에 탔을 때로, 총 42명의 사람이 기차 안에 있다. 이 기차는 다음 조건을 만족하면서 운행된다고 가정한다. 기차는..
[Spring Boot] The signing key's size is 72 bits which is not secure enough for the HS512 algorithm.
·
spring boot 공부
상황 - REST API로 로그인/회원가입 기능을 구현하기 위해 스프링부트 코딩중 - JWT 활용한 코드 사용 - Postman을 이용해 아이디와 비밀번호를 입력해준 후, 정상작동되는지 확인하기 위해 테스트 중 (일치시 토큰 발급됨) - 오류와 함께 메시지가 출력됨. - 메시지 내용 : The signing key's size is 72 bits which is not secure enough for the HS512 algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HS512 MUST have a size >= 512 bits (the key size must be greater than or e..
[백준] 1032번 - 명령 프롬프트 (파이썬)
·
알고리즘 공부/백준
[문제] 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에..
[Spring Boot] Postman 에 "Content type 'text/plain;charset=UTF-8' not supported" 뜰 때 해결 방법
·
TIL/시행착오 모음
상황 - REST API로 로그인/회원가입 기능을 구현하기 위해 스프링부트 코딩중 - Postman을 이용해 아이디와 비밀번호를 입력해준 후, 정상작동되는지 확인하기 위해 테스트 중 (일치시 토큰 발급됨) 문제 발생 원인 - message에 나온 그대로 Content Type인 text/plain이 지원되지 않아 발생한 문제다. - 찾아보니까 Postman에서 Content Type을 text/plain으로 자동 설정해서 발생한 문제였다. 해결방법 - Content Type을 application/json으로 설정해주면 된다. 출처 : https://velog.io/@ds257873/Content-type-textplaincharsetUTF-8-not-supported
[백준] 2490번 - 윷놀이 (파이썬)
·
알고리즘 공부/백준
[문제] 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 개, 등 세 개), 개(배 두 개, 등 두 개), 걸(배 세 개, 등 한 개), 윷(배 네 개), 모(등 네 개) 중 어떤 것인지를 결정하는 프로그램을 작성하라. https://www.acmicpc.net/problem/2490 2490번: 윷놀이 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 www.acmicpc.net 🎨 풀이 💡 전..
[백준] 2442번 - 별 찍기 5 (파이썬)
·
알고리즘 공부/백준
[문제] 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. https://www.acmicpc.net/problem/2442 2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net 🎨 풀이 💡 전체 코드 n = int(input()) total = 2 * n - 1 for i in range(1,n+1): print(' ' * ((total-(2*i-1))//2), end='') print('*' * (2*i-1), end='') print("") > 핵심 : 2*n-1 식을 ..