본문 바로가기

전체 글44

[프로그래머스] 없어진 기록 찾기 (Lv.3 - select 에 혹시 유실된 데이터를 보려고 하지 않았는지??) SQL https://school.programmers.co.kr/learn/courses/30/lessons/59042 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 쿼리 select b.ANIMAL_ID, b.NAME from ANIMAL_INS a right outer join ANIMAL_OUTS b on a.ANIMAL_ID = b.ANIMAL_ID where a.ANIMAL_ID is null order by a.ANIMAL_ID ASC; # ===== 아래는 오답 ====== # 두 쿼리의 차이점은 select 문에 존재. select a.A.. 2024. 2. 24.
[백준] 회문 (골드5, 시간복잡도는 왜 선형을 유지할 수 있을까.. N^2이 아니고?) https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 설명 회문(palindrome)은 앞 뒤 문자가 같아, 앞으로 읽어도 뒤로 읽어도 같은 문자가 되는 문자열을 의미한다. 우선 회문의 개념은 알았으니 문제를 좀 살펴보면, O(N^2) 풀이로는 도저히 풀 수 없을 것 같다는 걸 문자열의 범위만을 봐도 알 수 있다. 문자열의 길이는 최대 10만 까지 주어지므로, T개의 케이스를 모두 연산해야 하기 때문에 O(T * N^2) 만큼의 시간이 소요되게 알고리즘을 작성하면 시간초과가 난다.. 2024. 2. 8.
[백준] 두 수의 합 [왜 여기까지만 생각했을까.. JAVA] 투 포인터 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 설명 실패했던 문제 중 가장 의미 있게 풀어낸 문제라고 생각해서 기록을 남겨보려고 한다. 이번 문제는 투 포인터에 관련된 문제다. 최근 들어 시간 복잡도를 계산하는 연습을 틀리더라도 최대한 정확하게 해 보려고 노력하고 있다. 그래서 시간 복잡도가 어떻게 되는지와 어떤 방식으로 생각을 해볼 수 있는지 작성해보려고 한다. 투 포인터를 .. 2024. 2. 3.
[프로그래머스] 뒤에 있는 큰 수 찾기 - [투 포인터 말만?] 구현, 투 포인터, 이중 포문 https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설명 코드부터 먼저 올리고 설명을 하는데, 이번에는 순서를 좀 바꿔서 설명해야 할 필요성이 있는 문제라서 설명과 코드 순서를 바꿨다. 또 지고의 영역인 분들에게 배운 기본이론을 바탕으로 증명과 동시에 설명해보려고 한다. 우선 이 문제를 먼저 읽고 와서 내용을 보아야 이해가 간다. 만약 저 문제를 읽고 왔다면 혹시라도 본인이 풀지 못했거나, 이게 왜 틀린 풀이일까를 .. 2024. 1. 23.