본문 바로가기

완전탐색3

[백준] 두 수의 합 [왜 여기까지만 생각했을까.. 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.
[백준] 놀라운 문자열 [해설 + 풀이 코드 + 왜 오래 걸렸을까] 구현 & 완전탐색 https://www.acmicpc.net/problem/1972 1972번: 놀라운 문자열 대문자 알파벳으로만 이루어져 있는 문자열이 있다. 이 문자열에 대해서 ‘D-쌍’이라는 것을 정의할 수 있는데, 이 문자열에 포함되어 있는, 거리가 D인 두 문자를 순서대로 나열한 것을 이 문 www.acmicpc.net 코드 import sys while True: string = input().strip() if string == '*': break flag = True for i in range(len(string)-1): check = [] answer = 0 for j in range(len(string)-(i+1)): for k in range(i+j+1, (i+j+1)+1): word.. 2023. 8. 15.