문제 1701번: Cubeditor Cubelover는 프로그래밍 언어 Whitespace의 코딩을 도와주는 언어인 Cubelang을 만들었다. Cubelang을 이용해 코딩을 하다보니, 점점 이 언어에 맞는 새로운 에디터가 필요하게 되었다. 오랜 시간 고생한 www.acmicpc.net 문제 풀이 입력된 문자열의 두 번 이상 나오는 부분 문자열 중 가장 긴 길이를 찾는 문제이다. 이는 앞서 다룬 16916 부분 문자열, 1786 찾기에서 문자열 일치에 따라 정보를 생성하는 `make_table`을 활용하면 해결할 수 있는 문제이다. 코드 def make_table(patten): length = len(patten) table = [0] * len(patten) j = 0 for i in range(1..
문제 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net 문제 풀이 문자열과 패턴이 주어지면, 이를 통해 몇 개가 일치하고 어느 위치에 일치하는지 반환하는 문제이다. 앞서 다룬 16916 부분 문자열과 같이 `KMP 알고리즘`을 이해하고 있으면 쉽게 해결할 수 있는 문제이다. 앞서 다룬 문제와 다른 점이 있다면 패턴과 일치하는 경우 바로 결과를 반환하지 않고, 값을 추가하여 모든 탐색이 끝난 후에 반환하는 부분을 수정하면 된다. 코드 def make_table(): length = len(p) table =..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 필드의 값이 `Null`인 경우, `WHERE` 또는 `IF`를 사용하여 `Null`에 대한 처리를 하면 필요에 따라 반영 여부를 결정할 수 있다. 코드 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID NULL 처리하기 SELECT ANIMAL_TYPE, IF (N..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 테이블에서 원하는 조건에 따라 `COUNT`, `MAX`, `MIN`을 사용하여 원하는 값을 찾을 수 있다. `SELECT`에서 이를 활용하면 쉽게 문제를 해결할 수 있다. 코드 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS 최솟값 구하기 SELECT MIN(DATETIME) FROM ANIMAL_INS 동물 수 구하기 SELECT COUNT(*) FROM ANIMAL_INS 중복 제거하기 SELECT COUNT(DISTINCT NAME) FROM ANIMAL..